Выполнение оболочки управляет без окна оболочки

С также subprocess.call или subprocess.Popen, выполнение команды оболочки делает окно оболочки quicky, появляются и исчезают.

Как я могу выполнить команду оболочки без окна оболочки?

7
задан Piotr Dobrogost 6 October 2013 в 20:55
поделиться

1 ответ

Я полагаю, что ваше наблюдение ограничено Windows, поскольку я считаю, что это единственная платформа, на которой вы столкнетесь с проблемой "вспышки консоли". Если да, то в документах предлагается следующий полуцелевой параграф:

Флаги информации о запуске и создания, если данный, будет передан базовая функция CreateProcess (). Они могут указывать такие вещи, как внешний вид главного окна и приоритет для нового процесса. (Windows only)

К сожалению, онлайн-документы Python не воспроизводят соответствующую часть документации Windows API, поэтому вам придется найти их в другом месте, например начиная с здесь в MSDN, что приводит вас сюда для флагов создания и, в частности, в

CREATE_NO_WINDOW
0x08000000

Процесс является консольным приложением который запускается без консоли окно. Следовательно, ручка консоли для приложения не установлен.

Итак, добавление creationflags = 0x08000000 к вашему вызову Popen должно помочь (к сожалению, у меня нет компьютера под управлением Windows, на котором можно это опробовать, поэтому вам придется попробовать это сами).

24
ответ дан 6 December 2019 в 07:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: