Анонимный пользователь
Дополнительно
Как скрыть окно консоли в python?
Я пишу IRC-бота на языке Python.
Я хочу сделать из него автономные двоичные файлы для Linux и Windows. И главным образом я хочу, чтобы при запуске бота окно консоли скрывалось, и пользователь не мог видеть это окно.
Что я могу сделать для этого?
65
6
Просто сохраните его с расширением
.pyw
. Это предотвратит открытие окна консоли.Пояснение внизу раздела 2.2.2
В linux просто запустите его, и никаких проблем. В Windows нужно использовать исполняемый файл pythonw.
Update
Хорошо, если я правильно понял вопрос в комментариях, вы спрашиваете, как сделать так, чтобы командное окно, в котором вы запустили бота из командной строки, потом исчезло?
Я думаю, что это правильно. В любом случае, теперь вы можете закрыть терминал.
На Unix-системах (включая Linux, macOS и BSD)
Используйте
nohup mypythonprog &
, и вы сможете закрыть окно терминала, не прерывая процесс. Вы также можете выполнитьexit
, если вы работаете в облаке и не хотите оставлять висящий процесс оболочки.В системах Windows
Сохраните программу с расширением
.pyw
, и теперь она будет открываться с помощьюpythonw.exe
. Никакого окна оболочки.Например, если у вас есть
foo.py
, вам нужно переименовать его вfoo.pyw
.Если все вы хотите сделать, это запустить ваш скрипт Python на компьютере с ОС Windows, что интерпретатор Python установлен, преобразовывая расширение сохраненного сценария '.пы' до '.pyw' следует сделать трюк.
Но если вы're, используя py2exe, чтобы преобразовать свой сценарий в отдельное приложение, которое будет работать на любой Windows-машины, то вам нужно сделать следующие изменения в своем 'настройки.пы' файл.
Ниже приведен пример простого языка Python-интерфейс выполнен с использованием Tkinter:
Изменение цены на "консоль" в коде выше, чтобы "окна" и..
Это будет только открыть сгенерированный Tkinter GUI и без окна консоли.
Это скроет вашу консоль. Внедрять эти строки в ваш код, чтобы начать прятать свои консоли в первую очередь.
Некоторая дополнительная информация. для ситуаций, что'll необходимо решение win32gui написал Мохсен Хаддади ранее в этой теме:
Как питона 361, win32gui & win32con не являются частью библиотеки Python СТД. Чтобы использовать их, пакет pywin32 должны быть установлены; теперь можно через Пип.
Больше информации на пакет pywin32 на: https://stackoverflow.com/questions/6624672/how-to-use-the-win32gui-module-with-python.
Кроме того, для применения усмотрения при закрытии окна так, чтобы ненароком не закрыть любое окно на передний план, разрешение может быть продлено вдоль линий следующие: