我有一个Python文件,它通过Popen启动一个新进程。 Python代码应该等到这个新进程完成后才能恢复它的代码。但是,Python启动的进程还会生成另一个cmd.exe窗口,该窗口可以完成一些工作,但在完成后会保持打开状态。 Python启动的过程在完成后关闭,但是停留cmd.exe窗口仍然打开,导致我的Python程序无法继续。关闭此停留窗口的最佳方法是什么?
这是我正在打电话的电话:
p = Popen(command, stdout=PIPE, stderr=STDOUT, stdin=PIPE)
命令正在运行另一个python文件。我将它设置为等于p,因为我稍后通过grep_stdout与新进程通信。
答案 0 :(得分:2)
这可以通过使用pythonw.exe
而不是python.exe
来执行您的第二个脚本来解决。如果您直接运行脚本(而不是自己调用解释器),则应使用.pyw
文件扩展名重命名,因为默认情况下应与pythonw.exe
关联。
有关在Windows上执行Python文件的更多信息,请参阅this section of the Python docs。