我只想打印一些信息并调用一个应用程序,例如记事本。
from subprocess import call
print("Opening Notepad++")
call([r"C:\Program Files (x86)\Notepad++\notepad++.exe"])
exit()
现在的问题是终端窗口不会自动关闭。它保持打开状态,直到我关闭记事本窗口。如何使终端窗口自动消失。
答案 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机器。