Python windows не закрываться

Как остановить закрытие Python сразу после выполнения в Microsoft Windows

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

Когда я запускаю свой .py файл (команда print ), он сразу же закрывается после появления. Я понимаю, почему он это делает – он дал результат, поэтому он сделал то, что ему нужно сделать, но я также понимаю, что вы можете остановить это.

Я просмотрел этот веб-сайт, и ни одно из решений, предоставленных этому вопросу, не работало, либо я их не понимал.

Есть ли простая команда, которую я могу внести в редактор IDLE, который заставит программу приостановиться или что-то еще? Я пробовал input(«prompt: «) , как предложил кто-то, и это не имело никакого значения.

Если для этого нет команды, есть ли способ изменить настройки на компьютере, чтобы программы не закрывались автоматически?

В Python 3 добавьте следующее в конец вашего кода:

Это заставит программу ждать ввода пользователя, нажав ENTER, заставляя программу закончить.

Вы можете дважды щелкнуть по файлу script.py в Windows таким образом.

Откройте командную строку cmd и запустите команды Python.
(в Windows идут запускать или искать и набирать cmd)
Он должен выглядеть следующим образом:

Это приведет к выполнению вашего кода в cmd, и он останется открытым.
Однако, чтобы использовать команду python, Python должен быть правильно установлен, поэтому cmd распознает его как команду. Проверьте правильность установки и регистрации переменных для вашей ОС, если этого не произойдет

Единственное, что сработало для меня – аргумент командной строки.

Просто поместите весь свой код python внутри .py файла, а затем запустите следующую команду:

Это означает, что если вы установите переменную -i и запустите свой модуль, тогда python не выйдет из SystemExit.
Подробнее читайте в этой ссылке.

Запустите команду, используя командную строку Windows из основного источника библиотеки Python.
Пример.

Если вам просто нужна задержка

В Python 2.7 добавление этого в конец моего файла py ( if __name__ == ‘__main__’: ) работает:

В зависимости от того, для чего я его использую, или если я делаю то, что другие будут использовать, я обычно просто input(«Do eighteen backflips to continue») , если он только для меня, если другие будут использовать, я просто создаю пакетный файл и приостанавливаю после

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

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

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

  • с помощью sleep (_someime)

from time import *
sleep(10)

  1. с помощью приглашения (обратите внимание, что я использую python 2.7)

exit_now = raw_input(«Do you like to exit now (Y)es (N)o ? «)’

if exit_now.lower() = ‘n’

//more processing here

В качестве альтернативы вы можете использовать гибрид этих двух методов, где вы можете запросить сообщение и использовать сон (когда-то), чтобы задержать закрытие окна. выбор за вами.

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

Ну, у меня такая же проблема,
Он решается добавлением переменной среды.

Все python-exe файлы сразу закрываются после запуска

EXE файл завершает работу сразу после запуска
Привет всем, столкнулся с следующей проблемой Написал небольшую програмку на паскале. Чтобы.

Программы закрываются сразу после открытия
В заголовке изложена вся суть проблемы. Надеюсь на вашу помощь:)

Программы закрываются сразу после открытия
Собственно вся проблема написана в заголовке. Как решить данную проблему?

Программы закрываются сразу после открытия
собственно всем доброй ночи. в компьютерах я неофит (образование гуманитарное). проблема.

В windows именно так и происходит. При соответствующих настройках, которые устанавливаются по умолчанию, когда вы устанавливаете Python, и вы их потом не изменяете, достаточно нажать двойным щелчком мыши на иконке файла *.py и windows автоматически запустит Python и питон запустит ваш код. В windows это работает для любых файлов, которые должны запускаться под управлением соответствующих программ. Когда вы нажимаете иконку картинки *.gif, windows автоматически запускает графический редактор, к которому привязано расширение .gif и графический редактор открывает графический файл.
С питоном и питоновскими файлами *.py все работает точно так же.
Я давно файлы так не запускал, потому что работаю только через отладчик. Но на всякий случай сейчас еще раз проверил. И все работает именно так как я здесь написал.

Читайте также:  Графическая оболочка командной строки для windows

Добавлено через 1 минуту
И именно при таком запуске файла, окно схлопывается если не поставить в конце кода input()
Тоже сейчас на всякий случай только что проверил.

Завершение программы в Python

Как сделать раннее завершение программы в Python? В самоучителе я нашёл несколько примеров:

Однако там не было объяснения какой метод лучше. Какой метод является наиболее «безаварийным»?

И заодно: есть ли в Python понятие Autocloseable объектов? Если я сделаю ранее завершение программы, нужно ли мне будет закрывать файлы и т.д.?

2 ответа 2

Короткий ответ:
Лучше использовать sys.exit()

Механизм завершения процесса в Python реализован через бросание исключения SystemExit , таким образом можно просто создать подобное исключение и программа завершится:

Функция exit и аналогичная ей quit созданы для удобства работы в интерактивном режиме и их не рекомендуется использовать внутри скриптов:

They are useful for the interactive interpreter shell and should not be used in programs.

По факту они также просто поднимают исключение, и при попытке вызова без скобок напишут подсказку о правильном способе выхода из интерпретатора:

Использовать sys.exit стоит потому, что эта функция лежит в стандартном модуле и будет всегда там доступна. Также это довольно явный способ выразить своё желание завершить программу.

Есть также дополнительный метод для немедленного завершения программы: os._exit . У него довольно специфическая область применения, и там же есть замечание:

The standard way to exit is sys.exit(n)

Т.е. здесь даётся подтверждение того, что стандартный способ завершения программы — это вызов sys.exit .

Функция os.abort , упомянутая вами, использует механизм сигналов процессу. Конкретно при вызове этой функции будет передан сигнал SIGABRT , что в linux приведёт к завершению программы и созданию дампа памяти процесса. Подобное завершение рассматривается операционной системой как аварийное, поэтому не стоит использовать его для безаварийного завершения приложения.

По второй части вопроса. В Python есть развитая система контекстных менеджеров: классов, которые умеют работать с оператором with . Самое частое использование этого механизма встречается, вероятно, с файлами.

Этот код откроет файл, напечатает его содержимое на экран и закроет файл автоматически, даже если возникнет исключение при его печати.

Для классов, которые не приспособлены для работы с with есть функция closing в библиотеке contextlib . Из документации:

is equivalent to this:

Вот небольшой пример работы этой функции:

Теперь небольшое отступление о том, почему стоит использовать конструкцию with .

Известно, что программа завершится от любого необработанного исключения, а не только от SystemExit . Таким образом, если в вашем коде используются какие-то ресурсы, которые требуется правильным образом закрывать перед завершением работы, нужно оборачивать работу с ними в блоки try . finally . .

Однако, при использовании конструкции with это оборачивание происходит автоматически, и все ресурсы закрываются корректно.

Так как выход из программы — это всего лишь брошенное исключение, то и в случае использования функции sys.exit закрытие открытых в операторе with ресурсов произойдёт корректно:

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

Как остановить немедленное закрытие Python при выполнении в Microsoft Windows

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

Когда я запускаю свой файл .py (команда print ), он сразу же закрывается после появления. Я понимаю, почему он это делает — он получил результат, поэтому он сделал то, что ему нужно, — но я также понимаю, что вы можете остановить это.

Я просмотрел этот сайт, и ни одно из решений, данных на этот вопрос, не сработало, либо это, либо я их не понял.

Есть ли простая команда, которую я могу ввести в свой редактор IDLE, которая поставит программу на удержание или что-то в этом роде? Я попробовал input(«prompt: «) , как предложил кто-то, и это не имело никакого значения.

Читайте также:  Windows at cmd example

Если для этого нет команды, есть ли способ изменить настройки на компьютере, чтобы программы не закрывались автоматически?

14 ответов

В последнее время я пытаюсь выучить C++ с этого сайта . К сожалению, всякий раз, когда я пытаюсь запустить один из примеров кода, я вижу, что эта программа открывается примерно на полсекунды, а затем сразу же закрывается. Есть ли способ остановить немедленное закрытие программы, чтобы я мог.

Я попытался запустить скрипт python, но он сразу же закрывается, когда обнаруживает ошибку. Есть ли способ остановить закрытие окна консоли после ошибки без использования batch file и без ввода этой команды: C:\WINDOWS\system32\cmd.exe /K Кстати, добавление try и except по-прежнему.

В Python 3, добавьте следующую строку в конец вашего кода:

Это приведет к тому, что программа будет ждать ввода данных пользователем, а нажатие кнопки ENTER приведет к завершению работы программы.

Таким образом, вы можете дважды щелкнуть по своему файлу script.py в Windows.

Единственное, что сработало для меня-это аргумент командной строки.

Просто поместите весь свой код python в файл .py, а затем выполните следующую команду;

Это означает, что если вы установите переменную-i и запустите свой модуль, то python не выйдет на SystemExit. Подробнее читайте по этой ссылке .

Откройте cmd (командная строка) и запустите оттуда Python команд. (на Windows перейдите к run или search и введите cmd) Это должно выглядеть так:

Это приведет к выполнению вашего кода в cmd, и он будет оставлен открытым. Однако, чтобы использовать команду python, Python должен быть правильно установлен, чтобы cmd распознал его как команду. Проверьте правильную установку и регистрацию переменной для вашего OS, если этого не произойдет

У меня есть две кнопки redio (rb1 и rb) и текстовое поле в custom messagebox, и я хочу остановить закрытие custom messagebox, если какой-либо параметр Не выбран. box.Dismissed += (s, e1) => < if (e1.Result == CustomMessageBoxResult.LeftButton) < if(rb.IsChecked.Value) < >else.

Как остановить автоматическое закрытие консольных приложений C#?

Выполните команду с помощью командной строки windows из основного источника библиотеки Python. Пример.

в конце концов, чтобы это прекратилось.

Если вы просто хотите отсрочки

В зависимости от того, для чего я его использую, или если я делаю что-то, что будут использовать другие, я обычно просто input(«Do eighteen backflips to continue») , если это только для меня, если другие будут использовать, я просто создаю batch file и приостанавливаю его после

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

В Python 2.7 добавив в конец моего файла ру ( if __name__ == ‘__main__’: ) производство общестроительных:

Ну у меня есть похожая проблема, Она решается путем добавления переменной окружения.

Добавление системных переменных в окно

Ваш путь Python.

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

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

from time import * sleep(10)

  1. используя подсказку (обратите внимание, что я использую python 2.7)

exit_now = raw_input(«Do you like to exit now (Y)es (N)o ? «)’

if exit_now.lower() = ‘n’

//more processing here

В качестве альтернативы вы также можете использовать гибрид этих двух методов, где вы можете запрашивать сообщение и использовать sleep(иногда) для задержки закрытия окна. выбор за вами.

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

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

Поздно здесь, но на случай, если кто-то придет сюда из google—

Перейдите в папку с вашим файлом .py. Нажмите SHIFT, затем щелкните правой кнопкой мыши в любом месте и выберите Открыть командную строку отсюда. Как только он поднимется, просто добавьте

«python NameOfTheProg.py» до линии cmd

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

Читайте также:  Быстрая загрузка windows с реестра

Основная идея состоит в том, чтобы повторно связать файлы .py, чтобы они запускали отдельный начальный сценарий перед запуском предполагаемого сценария. Начальный сценарий запускает новое окно командной строки с параметром /k, который сохраняет командную строку открытой после завершения и запускает ваш предполагаемый сценарий в новом окне.

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

Теперь для реализации я называю начальный сценарий python python_cmd_k.pyw. Я использую Python 3.7. Требуемый код может отличаться для других версий. Измените путь C:\Python37\python.exe на местоположение вашей установки python. Свяжите .pyw файлов с pythonw.exe (а не с python.exe) через Windows, если они еще не созданы.

Это выполняется каждый раз, когда вы дважды щелкаете любой сценарий .py и запускаете новую командную строку для запуска сценария, который вы дважды щелкнули. Запуск через pythonw.exe подавляет окно командной строки при запуске этого начального сценария. В противном случае, если вы запустите его через python.exe, в результате кратковременного отображения первого окна появится раздражающее мигание командной строки. Предполагаемый сценарий отображается, потому что код в исходном сценарии выше запускает предполагаемый сценарий с python.exe.

Теперь свяжите .py файлов с python.exe (а не с pythonw.exe) по Windows, если они еще не созданы, и отредактируйте запись реестра для этой ассоциации (отказ от ответственности: всегда создавайте резервную копию реестра перед его редактированием, если вы не уверены в том, что делаете). Я не знаю, есть ли разные пути в реестре для ассоциации файлов для разных версий Windows, но для меня это так:

Измените данные на путь pythonw.exe (а не python.exe) и добавьте путь к скрипту ptyhon выше и «%1» в качестве аргументов («%1» передает полный путь дважды щелкнутого файла). Например, если pythonw.exe и python_cmd_k.pyw находятся в C:\Python37\, то:

Нет необходимости помещать python_cmd_k.pyw в тот же каталог, что и pythonw.exe, если вы указываете правильный путь для обоих. Вы можете поместить их в файлы .reg для легкого переключения между использованием скрипта и поведением по умолчанию. Измените пути по мере необходимости в приведенных ниже примерах (расположение в реестре, ваша установка python, место, где вы разместили свой сценарий python_cmd_k.pyw).

С помощью ptyhon_cmd_k.pyw (измените пути по мере необходимости):

Версия по умолчанию (измените пути по мере необходимости):

  1. Откройте командную строку от имени администратора.
  2. Тип python.exe (при условии, что вы указали путь к нему в переменных среды)

Затем в том же окне командной строки интерпретатор python будет начинаться с >>>

Это сработало для меня.

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

Я скачал установщик postgresql-9.0.1-1-windows.exe с официального сайта, запустил его, а потом получил ошибку: Произошла ошибка при выполнении установщика Microsoft VC++ runtime installer В чем.

В python при запуске скриптов есть ли способ остановить закрытие окна консоли после выплевывания трассировки?

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

В последнее время я пытаюсь выучить C++ с этого сайта . К сожалению, всякий раз, когда я пытаюсь запустить один из примеров кода, я вижу, что эта программа открывается примерно на полсекунды, а.

Я попытался запустить скрипт python, но он сразу же закрывается, когда обнаруживает ошибку. Есть ли способ остановить закрытие окна консоли после ошибки без использования batch file и без ввода этой.

У меня есть две кнопки redio (rb1 и rb) и текстовое поле в custom messagebox, и я хочу остановить закрытие custom messagebox, если какой-либо параметр Не выбран. box.Dismissed += (s, e1) => < if.

Как остановить автоматическое закрытие консольных приложений C#?

Я хочу использовать пакет python pyrouge в Microsoft Windows. Пакет не дает никаких инструкций о том, как установить его на Microsoft Windows. Как я могу это сделать?

В Visual Studio Code, когда я запускаю интерактивное окно Python (например, вызывая команду Run Selection/Line in Python Interactive Window), сервер Jupyter запускается в фоновом режиме. В этом окне.

Оцените статью