首页 > 解决方案 > python中是否有异步“for”循环?

问题描述

for line in 'textfile.txt':
   myvariables = line.split(':')
   driver = ...
   driver.get("google.com")
   driver.quit()

您好,我目前正在使用一个简单的脚本作为上面的几行......在这里,在我的文本文件中的每一行,一个硒驱动程序将打开,获取谷歌并退出。但是,例如,如果我的文本文件中有两行,则会打开一个驱动程序,然后在第一个驱动程序退出后处理第二行。是否可以同时遍历每一行?所以,基本上,如果有两条线,我怎么能同时运行两次。将其保存在一个 python 文件中对我来说是一个关键因素。感谢任何评论!

标签: pythonselenium

解决方案


import selenium
import time
import random
import threading

def mydefini(self):
    while(True):
        driver = ....     
        driver.get("https://google.com")
        driver.get("https://youtube.com")
        driver.get("https://google.com")
            


with open("mytextfile.txt", "r") as a_file:
  for line in a_file:
      browserThread = threading.Thread(target=mydefini, args=("1"))    #args = "1" placed as a random positional argument to start the thread no problem (definitely a better solution to the random argument)
      browserThread.start()

复制并粘贴这应该让你使用线程/硒......如果我的文本文件中有 3 行,将启动 3 个任务,抓住谷歌,YouTube,然后再次谷歌......(如果你复制和粘贴,注意这是一个循环,它将一遍又一遍地重新启动 3 个任务)


推荐阅读