#python #subprocess
Вопрос:
Я пытаюсь использовать модуль подпроцесса, чтобы открыть блокнот, а затем распечатать, что программа была открыта. Мой код:
import os import subprocess if os.path.exists(r'C:WindowsSystem32notepad.exe'): subprocess.run(r'C:WindowsSystem32notepad.exe') print('Program executed')
Блокнот открывается, но проблема в том, что команда печати не работает, пока я не закрою Блокнот. есть ли в любом случае способ преодолеть это?
Комментарии:
1.
subprocess.run()
блокируется до тех пор, пока команда не завершится. Используйте потоки, многопроцессорную обработку или любой из асинхронных параметров (или отключите команду, которую вы выполняете).
Ответ №1:
Использование Popen вместо run помогает. Затем скрипт не ждет, пока программа закроется:
subprocess.Popen(r'C:WindowsSystem32notepad.exe')