0
我无法找到任何答案。 其中一条命令行是对exe的调用,它的返回值不相关。另一方面,代码的输出对我很重要。 我需要运行这个EXE并行到我写的另一个BAT文件,但我找不到获得输出并行运行的方式。 python/cmd有没有办法做到这一点?并行运行多个命令行并打印输出(Python/cmd)
我无法找到任何答案。 其中一条命令行是对exe的调用,它的返回值不相关。另一方面,代码的输出对我很重要。 我需要运行这个EXE并行到我写的另一个BAT文件,但我找不到获得输出并行运行的方式。 python/cmd有没有办法做到这一点?并行运行多个命令行并打印输出(Python/cmd)
在批处理文件中,您可以使用start XYZ
运行不阻塞的东西。如果你想使用python(我建议批量使用),请使用subprocess
模块:
p1 = subprocess.Popen(["my.exe", "arg1", "arg2"])
p2 = subprocess.Popen(["cmd", "/c", "my.bat"])
p1.wait()
p2.wait()
令人惊叹。效果很好。谢谢!什么; – AmitRe
是什么; 'start'还是'subprocess'? – xtofl
您可以直接运行.bat或.cmd文件。 WinAPI'CreateProcess'通过'%ComSpec%'shell执行它,如果已定义,则默认为cmd.exe。另外,CMD的'start'命令的'subprocess.Popen'也需要'creationflags = CREATE_NEW_CONSOLE | CREATE_NEW_PROCESS_GROUP'。你现在的例子更像'start/b'。 – eryksun