python如何while循环while true,一起运行多个函数

def function():

    while True:  

        ...omission...(this function is repeated permanently)

i =0

while i < 4:

    driver.execute_script("""window.open("URL")""")

    driver.switch_to.window(driver.window_handles[-1])

    time.sleep(1)

    function()

    time.sleep(1)

    i += 1  #open new tab and run function.

它不起作用,因为 while true 循环永久重复。有没有办法同时运行多个功能? https://imgur.com/a/4SIVekS这张图显示了我想要的



青春有我
浏览 141回答 2
2回答

料青山看我应如是

根据您的图片,您想要的是启动该功能一定次数(4?),然后并行运行。在单核上,与正常行为一样,直接并行处理是不可能的。您需要访问其他核心并管理分散的处理。while在那里没用。我担心难度超过你目前的技能,但我们开始吧。您(可能取决于您的函数的实际内存安全性)需要的总体流程是:- 为您想要的运行次数创建一个具有设定线程数的线程池。- 指示您需要运行的功能- 启动它们,确保启动本身是非阻塞的。- 确保一个函数的处理不会影响另一个函数的结果。竞争条件是一个常见问题。- 再次以非阻塞方式收集结果。您可以使用多种方法。我强烈建议您阅读以下文档。线程:https ://docs.python.org/3/library/threading.html多处理:https ://docs.python.org/3/library/multiprocessing.html

呼唤远方

我不明白你的问题,因为我不明白你的功能应该做什么。while&nbsp;True:将始终创建一个无限循环。“while”是一个命令,它告诉 python 循环遍历下面的块,只要它后面的表达式计算为 True。True 总是计算为 True。似乎您想使用条件,就像您在“while x < 4”中所做的那样。x&nbsp;<&nbsp;4...是一个表达式,当 x 小于 4 时计算结果为 true,如果 x 不小于 4,则计算结果为 false。行以下的所有内容:while&nbsp;x&nbsp;<&nbsp;4:如果 x 小于 4 则将运行,当它运行完该代码时,它将返回并再次评估 x 是否小于 4,如果是,则再次运行代码。要在该循环中包含另一个 while 循环,该新循环还需要一个表达式来评估。如果要计算相同的表达式,请将其写出:while&nbsp;x&nbsp;<&nbsp;4:&nbsp;&nbsp; &nbsp;&nbsp;#&nbsp;do&nbsp;something &nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;x&nbsp;<&nbsp;4:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#do&nbsp;more&nbsp;things &nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;do&nbsp;even&nbsp;more&nbsp;things &nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;change&nbsp;x&nbsp;at&nbsp;some&nbsp;point,&nbsp;or&nbsp;else&nbsp;you're&nbsp;in&nbsp;an&nbsp;infinite&nbsp;loop.但是,没有理由专门这样做,因为您已经在这样做了。所有代码仅在 x < 4 时运行,因此再次检查该条件是多余的,并且在另一个循环中执行它是没有意义的。如果内部循环也在增加 x,那么外部循环将不会循环并且不需要增加 x。此外,如果您希望函数根据函数外部的变量检查条件,则需要将内容传递给该函数。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python