Как сохранить открытым окно вывода скрипта Python?
Я только начал работать с Python. Когда я запускаю файл скрипта python в Windows, окно вывода появляется, но мгновенно исчезает. Мне нужно, чтобы оно оставалось там, чтобы я мог анализировать свой вывод. Как я могу сохранить его открытым?
Переведено автоматически
Ответ 1
У вас есть несколько вариантов:
Запустите программу из уже открытого терминала. Откройте командную строку и введите:
python myscript.py
Для этого вам нужен исполняемый файл python в вашем path. Просто проверьте, как редактировать переменные среды в Windows, и добавьте C:\PYTHON26 (или в любой другой каталог, в который вы установили python).
Когда программа завершится, вы вернетесь к командной строке cmd вместо закрытия окна.
Добавьте код для ожидания в конце вашего скрипта. Для Python2 добавьте ...
raw_input()
... в конце скрипт заставляет его ждать Enter ключ. Этот метод раздражает, потому что вам приходится изменять скрипт и помнить о его удалении, когда вы закончите. Особенно раздражает при тестировании чужих скриптов. Для Python3 используйте input().
Используйте редактор, который приостанавливает работу для вас. Некоторые редакторы, подготовленные для python, автоматически приостанавливают работу для вас после выполнения. Другие редакторы позволяют вам настроить командную строку, которую он использует для запуска вашей программы. Я считаю особенно полезным настроить его как "python -i myscript.py" при запуске. После завершения программы вы попадаете в оболочку python с загруженной программной средой, чтобы вы могли дальше играть с переменными и вызывать функции и методы.
Ответ 2
cmd /k это типичный способ открыть любое консольное приложение (не только Python) с консольным окном, которое останется после закрытия приложения. Самый простой способ, который я могу придумать, это нажать Win + R, ввести cmd /k, а затем перетащить нужный скрипт в диалоговое окно Запуска.
Ответ 3
Запустите скрипт из уже открытого окна cmd или в конце скрипта добавьте что-то вроде этого на Python 2:
raw_input("Press enter to exit;")
Или, в Python 3:
input("Press enter to exit;")
Ответ 4
Чтобы сохранить ваше окно открытым в случае исключения (пока, при печати исключения)
Python 2
if __name__ == '__main__': try: ## your code, typically one function call except Exception: import sys print sys.exc_info()[0] import traceback print traceback.format_exc() print"Press Enter to continue ..." raw_input()
Чтобы окно оставалось открытым в любом случае:
if __name__ == '__main__': try: ## your code, typically one function call except Exception: import sys print sys.exc_info()[0] import traceback print traceback.format_exc() finally: print"Press Enter to continue ..." raw_input()
if __name__ == '__main__': try: ## your code, typically one function call except BaseException: import sys print(sys.exc_info()[0]) import traceback print(traceback.format_exc()) print("Press Enter to continue ...") input()
Чтобы окно оставалось открытым в любом случае:
if __name__ == '__main__': try: ## your code, typically one function call except BaseException: import sys print(sys.exc_info()[0]) import traceback print(traceback.format_exc()) finally: print("Press Enter to continue ...") input()