做完事后关闭终端窗口

时间:2018-11-08 15:11:42

标签: python subprocess call

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

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

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

3 个答案:

答案 0 :(得分:1)

像这样使用Popen

import subprocess

subprocess.Popen(r'C:\Program Files (x86)\Notepad++\notepad++.exe', \
                 stdout=subprocess.PIPE, shell=False, creationflags = 0x08000000)

答案 1 :(得分:0)

您可以使用pythonw.exe: pythonw script.py

或将其扩展名更改为pyw,例如script.pyw并双击它。

如果这样做,则应将“打开记事本++” 打印到弹出窗口。参见:Python Notification Popup that disappears

答案 2 :(得分:0)

您需要使用start COMMAND调用notepad命令,就像在Linux中,我们使用COMMAND &将进程派生到后台一样。在Windows中,我们使用start COMMAND

因此您重构了代码:

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

尽管请注意,我没有要测试的Windows机器。

相关问题