Приложение не отвечает при использовании вызова подпроцесса

Мое приложение не отвечает, когда я использую subprocess.call(['notepad.exe', путь]). Кто-нибудь знает причину этого?

(блокнот правильно открывает файл в пути)

Открыть текстовый файл с помощью блокнота в качестве файла справки в python?


person antonio    schedule 12.05.2019    source источник
comment
os.startfile(path) открывает файл в редакторе по умолчанию. .xlsx excel, .txt блокнот и т. д.   -  person Legorooj    schedule 12.05.2019


Ответы (1)


Вы запускаете это в потоке, который отвечает за графический интерфейс. Вызов subprocess.call возвращается только после завершения вызванной программы. Пока он все еще работает, функция просто сидит и ждет, поэтому ваш графический интерфейс тоже вынужден ждать.

Чтобы избежать этого, запустите эту функцию в другом потоке или используйте неблокирующий родственник subprocess.call.

person ForceBru    schedule 12.05.2019