Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python按顺序运行程序_Python_Command Line - Fatal编程技术网

使用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个程序仍然同时运行,不像预期的那样。 如何解决此问题?有两种选择: 使用子流程。检查调用

我有一个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个程序仍然同时运行,不像预期的那样。 如何解决此问题?

有两种选择:

  • 使用
    子流程。检查调用()
    (应按顺序运行)
  • 使用
    Popen.communicate()
    (),将
    stdout
    stderr
    设置为
    subprocess.PIPE
    ,查看是否确实按顺序生成了stdout和stderr

另外,
datetime.datetime.now()
给您一微秒的时间,因此您可以看到粒度大于1s的时间。

您正在运行的命令是什么?如果它们是fork,那么POpen可能只会等待父进程。我尝试过,效果很好。作为命令,我使用了“ping www.SomeWebSite.pq”我是编程新手,你能解释一下“fork”吗?还有什么方法可以等待父进程?在您的情况下,我的命令是什么?我的命令是使用Tcl程序来计算一些东西。