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

Обновлено: 18.05.2024

Я делаю приложение в python из Windows. Когда я запускаю его в консоли, он останавливается, показывает ошибку и закрывается. Я не вижу ошибки, потому что это слишком быстро, и я не могу ее прочитать. Я редактирую код с помощью IDLE (программа, которая поставляется с python, когда я ее установил), и когда я запускаю ее с оболочкой python, ошибок нет. Я бы запускал его из IDLE, но когда я использую консоль, у него есть больше возможностей.

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

Запустите программу с уже открытого терминала. Откройте командную строку и введите:

Для этого вам понадобится исполняемый файл python на вашем пути. Просто проверьте, как редактировать переменные среды в окнах, и добавьте C: \ PYTHON26 (или любой каталог, в который вы установили python). Когда программа закончится, она вернет вас обратно в окно окна CMD вместо закрытия окна. Add кода, чтобы ждать в конце вашего скрипта. Добавление .

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

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

Запоздалый +1000. Я использую python в качестве обучающего языка для друга, который использует Windows, и я не мог поверить, насколько сложно (по крайней мере, на основе существующей документации) добраться до места, где мы могли бы запустить скрипт и посмотреть результат.

Вы могли бы подумать, что окно вывода должно оставаться открытым по умолчанию. Это происходит при запуске Python в Mac OS. Очень расстраивает

Я собираюсь связать еще один вопрос: оставьте консоль Windows открытой после ошибки Python с этим (на который я отправил ответ для отладки с помощью сценариев перетаскивания и

Посмотрите ответ, который @maurizio опубликовал ниже - это единственный вопрос, в котором вам не нужно менять свои скрипты на python.

У вас есть несколько вариантов:

Запустите программу с уже открытого терминала. Откройте командную строку и введите:

Чтобы это работало, вам нужен исполняемый файл python на вашем пути. Просто проверьте, как редактировать переменные окружения в Windows, и добавьте C:\PYTHON26 (или любой каталог, в который вы установили python).

Когда программа завершится, она вернет вас к приглашению cmd вместо закрытия окна.

Добавьте код для ожидания в конце вашего скрипта. Для Python2 добавим .

. в конце скрипта заставляет его ждать Enter ключ. Этот метод раздражает, потому что вы должны изменить скрипт и не забыть удалить его, когда закончите. Особенно раздражает при тестировании чужих скриптов. Для Python3 используйте input() .

Используйте редактор, который делает паузу для вас. Некоторые редакторы, подготовленные для Python, автоматически запустят вас после выполнения. Другие редакторы позволяют вам настроить командную строку, которую он использует для запуска вашей программы. Я считаю особенно полезным настроить его как " python -i myscript.py " при запуске. Это приводит к тому, что после завершения программы вы попадаете в оболочку Python с загруженной программной средой, поэтому вы можете в дальнейшем играть с переменными и вызывать функции и методы.

+1 к пункту 3. Я использую Scite в качестве редактора Python, и он просто сохраняет вывод в собственном окне вывода. Это действительно полезно, потому что вы можете увидеть результаты более чем одного запуска в одном окне.

Я могу увидеть вывод, запустив его с уже открытого терминала. Но мне нужно дать полный адрес скрипта в команде python? Можно ли этого избежать? Когда я использую метод raw_input (), он выдает мне NameError: имя 'raw_input' не определено. Можете ли вы предложить редактор, который автоматически останавливается после выполнения?

@movingahead: может быть, вы используете Python 3? в питоне 3 он был переименован в input (). Но я бы сейчас использовал python 2.6, так как в python 3 отсутствуют важные сторонние библиотеки, которые еще не были портированы. (см. другие вопросы по Python 2vs3). Что касается редактора, я не использую windows, notepad ++ позволяет вам настроить команду. Я использую Emacs, который имеет версию для Windows, но я никогда не использовал его.

@nosklo спасибо !! Да, я использую Python 3. Делать базовые вещи сейчас, поэтому не должно быть большой проблемой. Я попробую блокнот ++. В настоящее время пробую Pydev для Eclipse

@movingahead Я использую Aptana studio. (Пидев предварительно упакован). это действительно хорошо. нечего сказать.

Как заставить python не выходить после выполнения скрипта

По умолчанию Python завершает работу сразу после выполнения. Если вы все еще хотите просмотреть результаты выполнения или затем выполнить другие команды, это не сработает. В этом случае вы можете добавить опцию -i к команде, которая выполняет скрипт. Например, я хочу выполнить example.py:

Таким образом, после выполнения example.py программа останется в консоли Python.

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

Интеллектуальная рекомендация

UIWebView-OC и взаимодействие JS

1. Перехватить указанный URL-адрес в прокси-методе webView. 2. По перехваченному URL-адресу определите специальное поле, указанное в URL-адресе, для обработки соответствующего события. 3. Передайте ис.

Есть ли какой-нибудь способ остановить закрытие python.exe сразу после его завершения? Он закрывается быстрее,чем я могу прочитать вывод.

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

Я открываю файл .exe, но скрипт сразу же закрывается после его открытия. Как я могу предотвратить закрытие скрипта? Local $engine= C:\Users\Davis\Desktop\chessEngine\stockfish-5-win\Windows\stockfish_14053109_32bit.exe Run($engine, , @SW_MAXIMIZE, $STDOUT_CHILD) Удаление $STOUT_CHILD из Run().

Вы не можете - глобально, то есть для каждой программы python. И это хорошо - Python отлично подходит для сценариев (автоматизации), и сценарии должны быть в состоянии работать вообще без какого-либо взаимодействия с пользователем.

Тем не менее, вы всегда можете запросить ввод в конце вашей программы, эффективно поддерживая программу до тех пор, пока вы не нажмете return. Используйте input("prompt: ") в Python 3 (или raw_input("promt: ") в Python 2). Или привыкните запускать свои программы из командной строки (например, python mine.py ), программа выйдет, но ее вывод останется видимым.

Просто объявите переменную типа k или m или любую другую, которую вы хотите, а теперь просто добавьте этот фрагмент кода в конце вашей программы

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

Для Windows Сред:

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

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

Затем сохраните файл как "my_python_program.bat"

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

Вспомогательный ответ

Ответ Маноджа Говиндана верен, но я видел этот комментарий:

И задумался о том, почему это так не очевидно для пользователей windows, и понял, что это потому, что CMD.EXE-такое плохое оправдание для shell, что он должен начинаться с:

Windows интерпретатор команд copyright 1999 Microsoft
Майн Готт!! Что бы вы ни делали, не используйте это!!
C:>

Похоже, что вы запускаете что-то в Windows, дважды щелкнув по нему. Это приведет к выполнению программы в новом окне и закроет окно, когда оно завершится. Неудивительно, что вы не можете прочитать вывод.

Лучший способ сделать это - переключиться на командную строку. Перейдите ( cd ) в каталог, в котором находится программа, а затем вызовите ее с помощью python . Что-то вроде этого:

Замените my_programs фактическим местоположением вашей программы и area.py именем вашего файла python.

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

файлы Python являются исполняемыми файлами, что означает, что вы можете запускать их непосредственно из командной строки(при условии, что у вас есть windows). Вы должны иметь возможность просто войти в каталог, а затем запустить программу. Кроме того, (предполагая, что у вас есть python 3), вы можете написать:

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

В windows, если Python установлен в каталог по умолчанию (для меня это):

Затем вы переходите к вводу

чтобы запустить сценарий Python в командной строке

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

Я использую Parse, и с помощью geoPointForCurrentLocationInBackground я могу остановить обновление после получения местоположения, не останавливая его вручную. Как мне прекратить обновление.

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

Как я могу остановить закрытие диалогового окна mfc, нажав клавишу ESC (Escape-клавиша). После выполнения моего приложения, если я нажму клавишу ESC, то окно будет закрыто. Как это можно остановить.

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

Я открываю файл .exe, но скрипт сразу же закрывается после его открытия. Как я могу предотвратить закрытие скрипта? Local $engine=.

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

Я запускаю PsExec в приложении WPF, но после выполнения окно закрывается. Process process = new Process(); process.StartInfo.FileName = @C:\Windows\SysWoW64\PsExec64.exe; process.StartInfo.Arguments.

После запуска моего приложения я спрашиваю пользователя о разрешениях с помощью этой функции: protected void requestPermission()< if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)

Я пытаюсь прочитать файл из сокета. Я использую select с таймаутом для выхода после чтения. select(maxfdp1, &rset, NULL, NULL, &timeout); Но если бы я знал размер отправляемого файла сразу.

Читайте также: