使用python按顺序运行程序
我有一个python程序,如下所示使用python按顺序运行程序,python,command-line,Python,Command Line,我有一个python程序,如下所示 import os import subprocess for m in range(0,10): os.chdir("C:/") run="my command%d"%m subprocess.Popen(run).wait() “我的命令”是我用来启动另一个程序的东西。 虽然我在Popen之后做了wait(),但结果表明,这10个程序仍然同时运行,不像预期的那样。 如何解决此问题?有两种选择: 使用子流程。检查调用
import os
import subprocess
for m in range(0,10):
os.chdir("C:/")
run="my command%d"%m
subprocess.Popen(run).wait()
“我的命令”是我用来启动另一个程序的东西。
虽然我在Popen之后做了wait(),但结果表明,这10个程序仍然同时运行,不像预期的那样。
如何解决此问题?有两种选择:
- 使用
(应按顺序运行)子流程。检查调用()
- 使用
(),将Popen.communicate()
和stdout
设置为stderr
,查看是否确实按顺序生成了stdout和stderrsubprocess.PIPE
另外,
datetime.datetime.now()
给您一微秒的时间,因此您可以看到粒度大于1s的时间。您正在运行的命令是什么?如果它们是fork,那么POpen可能只会等待父进程。我尝试过,效果很好。作为命令,我使用了“ping www.SomeWebSite.pq”我是编程新手,你能解释一下“fork”吗?还有什么方法可以等待父进程?在您的情况下,我的命令是什么?我的命令是使用Tcl程序来计算一些东西。