如何从python脚本中启动批处理文件并从中分离

时间:2014-03-18 17:53:33

标签: python windows batch-file

我有一个需要启动.bat文件的python脚本。 .bat文件无限期运行,理想情况下永远不会返回。

在python脚本中运行外部可执行文件或.bat没有问题,但我发现的所有实现都是以子进程运行并等待它返回。

我可以运行外部脚本并从中分离,允许它快速运行,并让python脚本继续运行吗?

* 编辑:* 使用Popen在同一命令提示符窗口中运行批处理文件 - 由于批处理文件永远不会返回,因此python应用程序无法继续运行。有没有办法在新的命令提示符窗口中运行批处理文件?

1 个答案:

答案 0 :(得分:1)

你可以使用子进程:

import subprocess
subprocess.Popen(["mybatchfile.bat"])

这将启动批处理文件,不会等待完成。如果要验证是否已创建进程,则可以运行:

p=subprocess.Popen(["mybatchfile.bat"])
if p.pid > 0:
   print "Process created with PID:", p.pid