Почему консоль закрывается сразу после запуска программы python

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

Что я могу сделать для этого?

ОТВЕТЫ

Ответ 1

Просто сохраните его с расширением .pyw . Это предотвратит открытие окна консоли.

В системах Windows нет понятия «исполняемый режим». Установщик Python автоматически связывает файлы.py с файлом python.exe, чтобы двойной щелчок на файле Python запускал его как скрипт. Расширение также может быть.pyw, в этом случае окно консоли, которое обычно появляется, подавляется.

Ответ 2

В linux просто запустите его, без проблем. В Windows вы хотите использовать исполняемый файл pythonw.

Update

Хорошо, если я понимаю вопрос в комментариях, вы спрашиваете, как сделать окно команд, в котором вы запустили бот из командной строки?

  • для Windows

Я думаю, что правильно. В любом случае, теперь вы можете закрыть терминал.

ЗАКРЫВАЕТСЯ КОНСОЛЬ C# ЧТО ДЕЛАТЬ

Ответ 3

В Unix-системах (включая Linux, macOS и BSD)

Используйте nohup mypythonprog ‘py2exe’ : >)

Измените «консоль» в приведенном выше коде на «windows»..

from distutils.core import setup import py2exe setup (windows = [‘tkinter_example.pyw’], options = < ‘py2exe’ : >)

Это откроет только созданный графический интерфейс Tkinter и отсутствие окна консоли.

Ответ 5

Это скроет вашу консоль. Сначала выполните эти строки в коде, чтобы сначала скрыть консоль.

import win32gui, win32con The_program_to_hide = win32gui.GetForegroundWindow() win32gui.ShowWindow(The_program_to_hide , win32con.SW_HIDE)

Ответ 6

Дополнительная информация. для ситуаций, в которых потребуется решение win32gui, опубликованное Мохсеном Хаддади ранее в этой теме:

Дополнительная информация о пакете pywin32 находится на: Как использовать модуль win32gui с Python? ,

Читайте также:
Программа для того чтобы ноутбук не шумел

Кроме того, чтобы применить дискрецию при закрытии окна, чтобы случайно не закрыть какое-либо окно на переднем плане, разрешение можно расширить по следующим строкам:

try : import win32gui, win32con; frgrnd_wndw = win32gui.GetForegroundWindow(); wndw_title = win32gui.GetWindowText(frgrnd_wndw); if wndw_title.endswith(«python.exe»): win32gui.ShowWindow(frgrnd_wndw, win32con.SW_HIDE); #endif except : pass

Источник: utyatnishna.ru

Консольные окна закрываются сразу после нажатия Ctrl + F5 в инструментах Visual Studio для Python

Я установил Python Tools для Visual Studio и не могу видеть вывод в окне консоли, как я вижу вывод, когда я запускаю консольное приложение C # в Visual Studio при нажатии следующих сочетаний клавиш.

F5 — . Начинает отладку программы и закрывает окно консоли в C # и Python.

Консоль закрывается что делать?


Ctrl + F5 — Запуск без отладки, работает в C # , как и ожидалось, но не в программе Python . Он всегда выходит из окна консоли под обеими опциями.

Для приложения Python существует третий параметр Выполнить проект в Python Interactive . Эта опция иногда производит вывод, а иногда нет.

Что я должен сделать, чтобы увидеть вывод в окне консоли и окна не должны закрываться после запуска программы? Это вообще возможно или какая-то концептуальная разница для консольных приложений python?

Я что-то здесь делаю не так?

Mitul 24 Фев 2012 в 07:15

3 ответа

Лучший ответ

В разделе «Инструменты-> Параметры-> Инструменты Python-> Дополнительно» есть раздел «Отладка» для «Ожидание ввода при ненормальном выходе из процесса» и «Ожидание ввода при нормальном выходе из процесса». Я думал, что они должны были быть включены по умолчанию, но включение их должно заставить его ждать.

Dino Viehland 23 Мар 2012 в 05:09

Для будущих посетителей из Google. Это не связано с настройками Python, но предотвращает автоматическое закрытие окна консоли при использовании «Пуск без отладки» (Ctrl + F5). Попробуйте найти этот параметр.

Project -> «project name» Properties -> Configuration Properties -> Linker -> System
Затем найдите свойство SubSystem и установите для него значение Console (/SUBSYSTEM:CONSOLE) Вы можете выбрать его с помощью раскрывающегося списка или ввести его. если у вас возникли проблемы с отображением в System , вы также можете проверить в All Options

Читайте также:
Есть ли в программе налогоплательщик книга учета доходов и расходов

Хит сохранить, и тогда он должен работать немедленно. Подтверждено, что это работает на VisualStudio 2013, но я также думаю, что это работает и на других версиях.

Brian W 30 Ноя 2017 в 19:47

ОБНОВЛЕНИЕ: Visual Studio 2017 — перечисленные элементы перемещены 🙁 и я не знаю, куда они перемещены

Источник: question-it.com

Как остановить закрытие командной строки в Python?

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

Я использую python 3.3

  • вы можете запустить скрипт через платформу ожидания питонов, чтобы он не «закрылся», или вы можете открыть командную строку (cmd), а затем запустить свой скрипт оттуда, он не будет «закрываться»
  • Я не уверен, что вы ищете. делает то, что вы хотите? Какая командная строка закрывается? Командная строка python или оболочка, через которую вы запускаете python?
  • гм, я думаю, что знаю проблему: вы даете ввод после второго оператора «input»? цель входной команды — зависнуть («оставаться там и не закрываться»), пока пользователь не нажмет клавишу. если вы дадите ввод, он закрывается.
  • Нет, я даю первый ввод, а затем вторую строку, я прошу python напечатать его . затем я снова прошу python для ввода, чтобы он оставался там .. Он отлично работает в режиме ожидания, но не на cmd

В Windows закрывается консоль CMD, потому что процесс Python существует в конце.

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

Читайте также:
Как узнать номер порта программы

Альтернативой, как вы выяснили, является откладывать сценарий заканчивается добавлением в конце вызова . Это позволяет пользователю сценария выбирать, когда сценарий завершится и консоль закроется.

Это можно сделать с помощью модуля os. Ниже приведен простой код:

Это вызовет паузу и попросит пользователя нажать любую клавишу для продолжения.

[edit: Вышеупомянутый метод хорошо работает для ОС Windows. Кажется, проблема с Mac (как указано ihue в комментариях). Дело в том, что библиотека «os» зависит от операционной системы, и некоторые команды могут не работать в одной операционной системе, как они работают в другой].

  • 1 библиотека «os» зависит от операционной системы. Я использую это с окнами, и он отлично работает, потому что на самом деле в cmd есть команда «пауза». Возможно, у Linux есть другой способ добиться этого.
  • Хорошо, спасибо за разъяснения. Я проверю, как это сделать специально на Mac, но вы должны были упомянуть об этом в своем ответе.
  • Правда ihue, я это добавил. Спасибо, что подняли этот вопрос. Пожалуйста, поделитесь своими выводами и для Mac.

Для сред Windows:

Если вы не хотите переходить в командную строку (или работать в среде, где командная строка ограничена), я думаю, что следующее решение — goo. Решение, которое я использую, — создать файл bat.

Используйте блокнот, чтобы создать текстовый файл. В файле содержимое будет выглядеть примерно так:

Затем сохраните файл как «my_python_program.bat» — НЕ ЗАБУДЬТЕ ВЫБРАТЬ «Все файлы!»

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

Источник: ru.fluffyfables.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru