我知道这个问题已经被问过了,但我做了大量的研究,无法解决我的问题。在
我的问题与并行运行复杂函数有关。在
我使用selenium webdriver自动从一个网站下载文件并将其上载到另一个网站,我希望这些功能同时运行。它们都使用while循环,并具有分层条件语句。我不能让这些函数同时运行,希望能得到帮助。我的代码如下:import multiprocessing
def auto_download():
# function logic here
def auto_upload():
# function logic here
if __name__ == '__main__':
p1 = multiprocessing.Process(name='auto download', target=auto_download())
p2 = multiprocessing.Process(name='auto upload', target=auto_upload())
p1.start()
p2.start()
这段代码运行第一个函数auto\u download(),但从不启动第二个函数。在
但是,如果我从here运行以下代码,这是相同的想法,但使用了更简单的函数,它可以正常工作。在
^{pr2}$
我的问题是否源于我试图同时运行的函数的复杂性?提前感谢您的帮助!在
编辑:解决方案(多亏了Raw Dawg)是我直接调用函数,而不是在process对象中。这与this question的解决方案不同。以下代码修复了此问题:p1 = multiprocessing.Process(name='auto download', target=auto_download)
p2 = multiprocessing.Process(name='auto upload', target=auto_upload)
p1.start()
p2.start()