【发布时间】:2014-03-27 20:41:37
【问题描述】:
我一直在谷歌搜索这个问题的答案,但似乎没有一个答案。谁能告诉我subprocess 模块是否并行调用? Python 文档建议它可用于生成新进程,但没有提及它们是否并行。如果它们可以并行完成,您能否给我一个示例或将我链接到一个示例?
【问题讨论】:
标签: python parallel-processing
我一直在谷歌搜索这个问题的答案,但似乎没有一个答案。谁能告诉我subprocess 模块是否并行调用? Python 文档建议它可用于生成新进程,但没有提及它们是否并行。如果它们可以并行完成,您能否给我一个示例或将我链接到一个示例?
【问题讨论】:
标签: python parallel-processing
这取决于你如何使用subprocess:
subprocess.call("some-program")
将阻塞直到some-program 完成。
p = subprocess.Popen("some-program")
将在单独的进程中运行 some-program,与脚本的其余部分并行运行。
请注意,第一个只是一个方便的包装器,相当于
subprocess.Popen("some-program").wait()
output = subprocess.check_output("some-program")基本一样
output, stderr = subprocess.Popen("some-program").communicate()
【讨论】:
subprocess.check_output("some-command") 是否可以从 check_output 切换到 Popen?