Как вызвать внешнее приложение (на базе Windows) независимо от родительского скрипта Python? - PullRequest
3 голосов
/ 06 декабря 2011

Я хочу вызвать внешнее приложение с графическим интерфейсом из скрипта Python, который будет запускаться при загрузке некоторых файлов на сервер.

Я бы хотел, чтобы процесс запускался и продолжался, тогда как сценарий python должен продолжаться и в конце концов завершить свою работу и завершиться. Я пробовал разные варианты, но ни один из них не оказался успешным.

В настоящий момент сценарий ожидает закрытия приложения до его завершения и отправляет ответ.

Я также попробовал Subprocess, Popen, os.System, Spawnl, Spawnlp в основном потоке, вызвав эти API в отдельном потоке. В связи с этим в stackoverflow и на других форумах задается много вопросов. Но я пока не могу найти точное решение для этого.

Ценю любую помощь.

1 Ответ

1 голос
/ 29 декабря 2011
У

была точно такая же проблема, и мне потребовалось чертовски много лет, чтобы найти ее, но вот ваш ответ:

import win32api
win32api.ShellExecute(0, "open", "python.exe", 'blah.py', '', 1)

Это гарантирует вам независимый процесс - даже после того, как вы выйдете из вызывающей программы Python, он продолжит работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...