Python 做某事后关闭终端窗口

Python 做某事后关闭终端窗口,python,subprocess,call,Python,Subprocess,Call,我只想打印一些信息并调用一个应用程序,例如记事本 from subprocess import call print("Opening Notepad++") call([r"C:\Program Files (x86)\Notepad++\notepad++.exe"]) exit() 现在的问题是终端窗口不会自动关闭。它一直打开,直到我关闭记事本窗口。如何使终端窗口自动消失。像这样使用Popen import subprocess subprocess.Popen(r'C:\Progra

我只想打印一些信息并调用一个应用程序,例如记事本

from subprocess import call
print("Opening Notepad++")
call([r"C:\Program Files (x86)\Notepad++\notepad++.exe"])
exit()

现在的问题是终端窗口不会自动关闭。它一直打开,直到我关闭记事本窗口。如何使终端窗口自动消失。

像这样使用
Popen

import subprocess

subprocess.Popen(r'C:\Program Files (x86)\Notepad++\notepad++.exe', \
                 stdout=subprocess.PIPE, shell=False, creationflags = 0x08000000)
您可以使用pythonw.exe: pythonw script.py

或者将其扩展名更改为
pyw
,例如
script.pyw
,然后双击它


如果这样做,您应该在弹出窗口中打印“打开记事本++”。请参阅:

您需要使用
start命令调用记事本命令,就像在Linux中,我们使用
命令&
将进程转移到后台一样。在windows中,我们使用
start命令

因此,您对代码进行了重构:

from subprocess import call
print("Opening Notepad++")
call([r"start C:\Program Files (x86)\Notepad++\notepad++.exe"])
exit()

虽然注意我没有windows机器可以测试。

在第1行添加“管道”并从第2行删除“子流程”后,它就工作了。请注意“stdout=subprocess.PIPE,shell=False”在这里做什么“stdout=subprocess.PIPE,shell=False”很抱歉回复太晚,它们不工作的原因是因为导入错误,现在它们只是常用参数,应该没问题,您可以阅读以下文档中的详细说明: