并行运行Python脚本,并等待所有脚本完成,然后再执行更多并行脚本

时间:2018-06-19 18:00:12

标签: python python-2.7 batch-file

我需要并行执行Python脚本,因此我使用以下批处理文件:

start python C:\myfolder\1.py
start python C:\myfolder\2.py
start python C:\myfolder\3.py

它工作正常,但是现在我需要在上述前三个完成之后并行运行三个脚本。如何在同一批处理文件中指定它?

2 个答案:

答案 0 :(得分:0)

您可以轻松地在python中执行此操作,而无需使用Windows批处理命令。

您可以使用subprocess库同时运行外部脚本,然后等待它们全部完成。

processes = []
scripts = [
    r'C:\myfolder\1.py',
    r'C:\myfolder\2.py',
    r'C:\myfolder\3.py',
]
for script in scripts:
    p = subprocess.Popen(['python', script])
    processes.append(p)

for p in processes:
    p.wait()

# Run other processes here

答案 1 :(得分:0)

我认为它应该像这样工作:

(
    start python C:\myfolder\1.py
    start python C:\myfolder\2.py
    start python C:\myfolder\3.py
) | pause

有关说明,请参见this answer