运行多段独立代码的Python

2024-06-13 14:11:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我在代码中遇到了一个小问题。我有一个主要功能,在特定情况下,必须启动一个或多个不同的功能来处理web抓取,特别是它们使用Selenium。问题是,我只想启动这个web scraping“task”,它只是一个python函数,而不是等待它终止,而是让它独立于我的其余代码继续运行,这样我就可以独立运行同一函数的5个不同实例,而不必等待它们终止。 一些伪代码:

while True:
    condition = SomeComputation()
    if(condition):
        IndependentFunction( some_parameter )

一旦独立函数被调用,我就不必等待它结束。我曾经研究过多处理,但据我所知,我可能不需要这种类型的并行化。 谢谢


Tags: 实例函数代码功能webtruetaskif
2条回答

如果不依赖于该刮取的输出,则可以使用线程

就像

mytask = threading.Thread(myfunction,args=(arg1,arg2,argn,))
mytask.start()

更多详细信息文档:https://docs.python.org/3/library/threading.html

要做到这一点,您需要多线程。线程模块的基本用法与您的独立功能一致,可以是这样的:

 import threading
 while True:
     condition = SomeComputation()
     if(condition):
         newThread = threading.Thread(target=IndependentFunction, args=(some_parameter,), daemon=True)
         newThread.start()

daemon=True参数意味着线程将完全独立地执行,主程序不会等到它完成它正在做的事情后才完全退出程序。 查看this页了解更详细的教程

相关问题 更多 >