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

spr*_*ssd 5 python windows parallel-processing batch-file python-2.7

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

start python C:\myfolder\1.py
start python C:\myfolder\2.py
start python C:\myfolder\3.py
Run Code Online (Sandbox Code Playgroud)

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

Bre*_*bel 1

您可以在 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
Run Code Online (Sandbox Code Playgroud)