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

Обновлено: 18.05.2024

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

в пакетных файлах Windows / DOS:

это печатает хороший "Press any key to continue . . . "

зависит от точного вопроса!

нормально pause работает в .летучая мышь!-Файл -6-->.

Если вы хотите cmd.exe чтобы не закрываться, чтобы иметь возможность оставаться набрав, используйте в конце файла.

если вы хотите cmd.exe, чтобы не закрывать и продолжать вводить, используйте cmd /k

просто почувствовал необходимость пояснить, что /k делает (с веб-сайта windows):

/k : выполняет команду, указанную строкой, и продолжает.

так cmd /k без последующей команды в конце файла bat будет просто держать cmd.exe окно открытым для дальнейшего использования.

С другой стороны pause в конце пакетный файл просто приостановит процесс и завершит cmd.exe на первом нажатии кнопки

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

добавить cmd.exe как новая строка под кодом, который вы хотите выполнить:

вызов cmd в конце пакетного файла.

мой способ-написать фактическую партию (говоря " foo.bat"), чтобы закончить работу; затем создайте еще один "старт".летучая мышь":

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

кроме того pause .

можно использовать .Он будет ожидать ввода пользователем и отпустит поток при нажатии enter.

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

возможность 1: Просто сделать 2 .bat файлы и записать в первый:

пакетный файл 2-это файл, который не будет закрыт в конце. Итак, теперь, когда вы открываете пакет nr.1 он начнет 2-й и сам cloe. Когда 2-й заканчивается, он не закроется полностью (до тех пор, пока вы не поставите выход в конце)

возможность 2: Пакетного файла 1:

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

этот маленький хак просит пользователя ввести ключ и сохраняет его в переменной %exitkey% (эта переменная может называться как угодно).

Пишу небольшие консольные программы на Python'e. Но после вывода данных при помощи print консоль сразу закрывается, и я даже неуспеваю увидеть результат. Что дописать в скрипте чтоб консоль не закрывалась, или хотябы закрывалась через некоторое время?

Python: консоль исчезает сразу после выполнения

Python: консоль исчезает сразу после выполнения

Punk_Joker
Пишу небольшие консольные программы на Python'e. Но после вывода данных при помощи print консоль сразу закрывается, и я даже неуспеваю увидеть результат. Что дописать в скрипте чтоб консоль не закрывалась, или хотябы закрывалась через некоторое время?

Просто открой консоль (CMD в Windows или Terminal в UNIX) в той папке, где у тебя есть скрипт.
Напиши в консоли python .py. И после выполения программы консоль никуда не пропадёт.

Python: консоль исчезает сразу после выполнения

Spectral
Просто открой консоль (CMD в Windows или Terminal в UNIX) в той папке, где у тебя есть скрипт.
Напиши в консоли python .py. И после выполения программы консоль никуда не пропадёт.

можно создать ярлык для cmd.exe, удалив в его свойствах путь к system32
тогда он будет открывать в той папке, где находится
иногда удобнее raw_input()/input()

Python: консоль исчезает сразу после выполнения

Punk_Joker
Пишу небольшие консольные программы на Python'e. Но после вывода данных при помощи print консоль сразу закрывается, и я даже неуспеваю увидеть результат. Что дописать в скрипте чтоб консоль не закрывалась, или хотябы закрывалась через некоторое время?

ну если приложение совсем уж простое то можно помимо raw_input() сделать например так:

cod@coder-desktop ~ $ nano ololo.py

cod@coder-desktop ~ $ python ololo.py > olololo
cod@coder-desktop ~ $ cat ololo
ololo
cod@coder-desktop ~ $

ну это как вариант конечно =) ну и в том случае если у тебя *nix
но raw_input() все= както прощще =)

python 3.7.3. Windows
Добрый вечер, только учусь. Решил написать подбор имени ребёнка, из редактора всё нормально работает.
Но при запуске самого файла, окно быстро сворачивается, ничего не видно, в чём причина?

быстрое закрытие окна консоли. Без вывода результата

Как минимум, эта строка не может нормально работать))
А вообще, при запуске выдает ошибку SyntaxError: Non-UTF-8 code starting with ‘\xd0’… (скрин). Как я понял по ссылке, проблема в том, что Питон 2.1 не понимает символы UTF-8 в обычной форме, кодировку надо указывать в начале файла:

При этом делаю у себя просто автоформатирование - начинает все отлично работать без указания кодировки, хотя визуально ничего вроде не добавляется и не дописывается…

быстрое закрытие окна консоли. Без вывода результата

Возможные решения. Поставить far manager у него виден конольный вывод. Использовать pyscripter

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

быстрое закрытие окна консоли. Без вывода результата

так работает же, если запустить из редактора (F5). Никакую ошибку не выводит. Кстати, как открыть то, нижнее окно с 1 вашей картинки?

Egorro13
Как я понял по ссылке, проблема в том, что Питон 2.1 не понимает символы UTF-8 в обычной форме

быстрое закрытие окна консоли. Без вывода результата

Так меня это и удивило, что без форматирования по pep8 как будто пытается выполнять в каком-то режиме 2.1, форматируешь - переключается обратно в 3 )) Мне такое поведение непонятно пока…

Duckky
так работает же, если запустить из редактора (F5). Никакую ошибку не выводит. Кстати, как открыть то, нижнее окно с 1 вашей картинки?

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

Так выше правильно doza_and говорит, если запускать именно в консоли, то сначала запустить cmd (командную строку) или powershell, оттуда уже запускать python file.py (сначала перейти в папку с file.py или указывать путь полностью, показал на скрине оба варианта). Иначе python.exe открывается как отдельная консоль, отрабатывает до ошибки и при завершении закрывается

attachment

Прикреплённый файлы:
powershell_2019-06-18_23-10-48.jpg (269,9 KБ)

Как остановить командную строку от закрытия в Python?

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

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

3 ответа

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

Чтобы предотвратить это, сначала откройте консоль, а затем используйте командную строку для запуска сценария. Сделайте это, щелкнув правой кнопкой мыши папку, содержащую скрипт, выберите Open console here и введите python scriptname.py в консоли.

Как вы выяснили, альтернативой является отложить сценарий, заканчивающийся добавлением вызова input() в конце. Это позволяет пользователю сценария выбирать, когда сценарий заканчивается и консоль закрывается.

Для сред Windows:

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

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

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

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

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

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

как заставить мою консоль в python не закрываться?

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

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

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

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

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

Как остановить командную строку от закрытия в Python?

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

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

2 ответа

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

Чтобы предотвратить это, сначала откройте консоль, затем используйте командную строку для запуска script. Сделайте это, щелкнув правой кнопкой мыши по папке, содержащей script, выберите Open console here и введите python scriptname.py в консоли.

Альтернатива, как вы выяснили, отложить окончание script, добавив в конце вызов input() . Это позволяет пользователю script выбирать, когда заканчивается script, и консоль закрывается.

Я использую Python 3 на Win10 и запускаю свой код, открыв окно командной строки и введя местоположение файла. Тем не менее, окно закрывается, как только программа завершается, и, прежде чем я могу прочитать какие-либо ошибки. Редактировать: это происходит независимо от того, есть ли в программе ошибки. Спасибо.

2 ответа

Решение 1:

Я только что увидел ваш комментарий:

Похоже, вы не указали путь к исполняемому файлу python: вам нужно добавить путь к исполняемому файлу python в переменную PATH вашего окна. Вы можете увидеть, как это сделать, здесь: Добавить Python в переменную среды PATH ('python' не распознается как внутренняя или внешняя команда)

Решение 2 .

Вы можете использовать input("enter to exit") в конце вашего кода Python, чтобы программа оставалась активной. Он выйдет, как только вы нажмете Enter.

Вы также можете заключить свой код в оператор try except и поместить th input() в except , чтобы предотвратить выход из программы при возникновении ошибок, но как упоминал @Kevin в комментариях это отловит ошибки времени выполнения, но не синтаксические ошибки.

Решение 3 .

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

FWIW, у меня есть несколько версий Python в моей системе Windows, поэтому я не хочу постоянно добавлять какие-либо каталоги Python в мой путь.

Код для каждой версии находится в отдельной папке (например, «py37») с подпапкой для каждого проекта, например. 'мой проект'. В py37 есть пакетный файл pyEnv.bat с таким содержимым:

В проводнике Windows я перехожу в папку проекта, в которой я хочу работать, нажимаю в адресной строке и набираю ..\pyEnv . Это запускает DOS-окно, в котором я теперь могу сделать python myproject.py . Вы можете увидеть print() вывод, ошибки и так далее.

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

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