Закройте окно терминала после выполнения чего-либо - PullRequest
0 голосов
/ 08 ноября 2018

Я хочу просто напечатать некоторую информацию и вызвать приложение, например, блокнот.

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

Проблема в том, что окно терминала не закрывается автоматически. Он остается открытым, пока я не закрою окно блокнота. Как сделать так, чтобы окно терминала автоматически исчезало.

Ответы [ 3 ]

0 голосов
/ 08 ноября 2018

Вы можете использовать pythonw.exe: pythonw script.py

Или измените его расширение на pyw, например. script.pyw и дважды щелкните по нему.

Если вы сделаете это, вы должны напечатать «Открытие блокнота ++» во всплывающем окне. См .: Всплывающее окно Python Notification

0 голосов
/ 08 ноября 2018

Вам нужно вызвать команду notepad с помощью start COMMAND, как в Linux мы используем COMMAND &, чтобы преобразовать процесс в фоновый режим. в окнах мы используем start COMMAND

Итак, вы изменили код:

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

Хотя обратите внимание, у меня нет машины с Windows для тестирования.

0 голосов
/ 08 ноября 2018

использовать Popen как и так

import subprocess

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