С subprocess.call
или subprocess.Popen
выполнение команды оболочки делает окно оболочки быстро появляться и исчезать.Выполнение команд оболочки без окна оболочки
Как запустить команду оболочки без окна оболочки?
С subprocess.call
или subprocess.Popen
выполнение команды оболочки делает окно оболочки быстро появляться и исчезать.Выполнение команд оболочки без окна оболочки
Как запустить команду оболочки без окна оболочки?
Я предполагаю, что ваше наблюдение ограничено Windows, так как я считаю, что это единственная платформа, на которой вы получите эту «консольную вспышку». Если это так, то docs предлагают следующую полу-полезный пункт:
STARTUPINFO и creationflags, если данного, будет передана в акцентирование функции CreateProcess(). Они могут указывать такие вещи, как внешний вид главного окна и приоритет для нового процесса. (Windows только)
К сожалению, Python онлайн документы не воспроизводят соответствующую часть API документации для Windows, так что вы должны найти те, в другом месте, например, начиная here на MSDN, которая ведет вас here для creationflags
, а именно к
CREATE_NO_WINDOW
0x08000000
Процесс представляет собой консольное приложение , которая запускается без окна консоли. Поэтому консольный дескриптор для приложения не установлен.
Таким образом, добавление creationflags=0x08000000
к вашему Popen
вызову должно помочь (к сожалению, у меня нет Windows, работает машины, на которой, чтобы попробовать это, так что вы должны попробовать это сам).
спасибо за быстрый ответ! –
Проверено на компьютере с Windows. Спасибо! –
Очень приятно, это работает! – ChristopheD
Какая платформа? (Звучит как Windows.) – 2010-05-29 16:05:45
related: [Как скрыть консоль, когда я использую os.system() или subprocess.call()?] (Http://stackoverflow.com/q/7006238/4279) – jfs