Программа на питоне закрывается после выполнения задачи

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

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

просто перетащите ваш скрипт в окно cmd

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

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

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

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

Условие в одну строку на python (питон) #short


python myscript.py
raw_input()

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

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

cmd /k это типичный способ открыть любое консольное приложение (не только Python) с консольным окном, которое останется после закрытия приложения. Самый простой способ сделать это — нажать Win + R, набрать, cmd /k а затем перетащить нужный сценарий в диалоговое окно «Выполнить».

Фантастический ответ. Ты должен был это получить.

Просто для команды python os.system вы должны выполнить os.system («cmd / k» + myAppPath + «» + myFlagsString)

cmd /k только для Windows. Я не могу помочь с альтернативой Mac, извините.

Нужно ли перетаскивать скрипт, включая саму команду Python? Извините, можно привести пример? Я новый, очень новый для Python под Windows.

Читайте также:
Что такое программа фаундейшн

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

Запустите скрипт из уже открытого окна cmd или в конце скрипта добавьте что-то вроде этого в Python 2:

raw_input(«Press enter to exit ;)»)
input(«Press enter to exit ;)»)

«Любая клавиша» не будет работать, будет работать только Enter (или Ctrl + D, в зависимости от того, где мы находимся).

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

Чтобы ваше окно было открыто в случае исключения (пока при печати исключения)

Конвертируем .py в .exe | PyInstaller

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()

Python 3

Для Python3 вам придется использовать input() вместо raw_input() и, конечно, адаптировать print операторы.

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()

Вы можете объединить ответы раньше: (для пользователя Notepad ++)

нажмите F5 для запуска текущего скрипта и введите команду:

cmd /k python -i «$(FULL_CURRENT_PATH)»

Таким образом, вы останетесь в интерактивном режиме после выполнения скрипта Python для Notepad ++ и сможете поиграть со своими переменными и так далее 🙂

Это отличный пакетный файл Windows, если вы измените $ (FULL_CURRENT_PATH) на имя пути Windows.

Я обнаружил, что гораздо проще получить плагин PyNPP и назначить ярлык для его запуска (не забудьте отключить предыдущий ярлык F5)

Создайте командный файл Windows с этими 2 строками:

python your-program.py pause
Или import os os.system(«pause») в конце .py файла

Это единственный ответ, который даже отдаленно правильный. Ответы , которые требуют повреждая каждый сценарий Python вы будете когда — либо работать с raw_input или другим мусором просто неправильны. Либо введите вашу команду в командной строке так, как ожидает вас Python, либо используйте пакетный язык , предоставляемый MS-DOS именно для этой цели с августа 1981 года .

Читайте также:
Как написать программу для построения графиков

еще лучше, используйте python %* и установите его как одну из программ «открыть с помощью», чтобы вы могли либо щелкнуть правой кнопкой мыши по файлу .py, чтобы открыть окно приостановки, либо я также поместил его в папку Anaconda3 (в PATH) как py_pause.bat, так что теперь Я могу бежать py_pause my-prog.py all my args от линии cmd

В Python 2 вы можете сделать это с помощью: raw_input ()

>>print(«Hello World!») >>raw_input(‘Waiting a key. ‘)

В Python 3 вы можете сделать это с помощью: input ()

>>print(«Hello world!») >>input(‘Waiting a key. ‘)

Кроме того, вы можете сделать это с time.sleep (время)

>>import time >>print(«The program will close in 5 seconds») >>time.sleep(5)

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

import atexit # Python 2 should use `raw_input` instead of `input` atexit.register(input, ‘Press Enter to continue. ‘)

В моей программе я помещаю вызов atexit.register в except предложение, чтобы оно приостанавливалось, только если что-то пошло не так.

if __name__ == «__main__»: try: something_that_may_fail() except: # Register the pause. import atexit atexit.register(input, ‘Press Enter to continue. ‘) raise # Reraise the exception.

У меня была похожая проблема. В Notepad ++ я использовал команду: она C:Python27python.exe «$(FULL_CURRENT_PATH)» закрывала окно cmd сразу после завершения кода.
Теперь я использую cmd /k c:Python27python.exe «$(FULL_CURRENT_PATH)» который держит окно cmd открытым.

Вы можете добавить «; C: Python27» в конец переменной среды Path. Таким образом, его можно сократить до ‘cmd / k python -i «$ (FULL_CURRENT_PATH)»‘ — именно то, что сказано в ответе выше, плюс полезный -i.

input(‘Press Enter to Exit. ‘)

Чтобы просто держать окно открытым, я согласен с Anurag, и это то, что я сделал, чтобы мои окна были открыты для коротких небольших программ типа расчета.

Это просто показало бы курсор без текста:

raw_input()

Этот следующий пример даст вам четкое сообщение о том, что программа выполнена и не ожидает другого ввода в программе:

print(‘You have reached the end and the «raw_input()» function is keeping the window open’) raw_input()

Заметка!
(1) В питоне 3 нет raw_input () , только input () .
(2) Используйте одинарные кавычки для обозначения строки; в противном случае, если вы набираете удваивается вокруг чего-либо, например «raw_input ()», он будет думать, что это функция, переменная и т. д., а не текст.

В следующем примере я использую двойные кавычки, и они не будут работать, потому что он думает, что между кавычками и «функцией» есть разрыв, даже когда вы читаете это, ваш собственный разум может в этом разобраться:

Читайте также:
Алгоритм запуска программы Microsoft excel

print(«You have reached the end and the «input()» function is keeping the window open») input()

Надеюсь, это поможет тем, кто только начинает, и до сих пор не понял, как думает компьютер. Это может занять некоторое время. : О)

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

Python — при выполнении программы через CMD она просто закрывается после второго ввода

Привет, извините за задание стольких вопросов. В основном, я поставил свой код выше и выполнил код, дважды щелкнув файл.py, который запускает его из CMD, после запроса с сообщением: «Пожалуйста, введите операцию, которую вы хотите выполнить, +, -, *,/: » CMD просто случайно закрывается. Это также случилось со всеми моими программами Python. Любые идеи почему? Это связано с моим ужасным кодом? Все ответы очень ценятся 🙂

monkey334 13 сен. 2013, в 22:54

Поделиться

Вы уверены, что не используете python2? Попробуйте напечатать sys.version_info в начале main . На input python2 возникнет исключение, когда пользователь вставит любой из */-+ , после чего программа завершится, а CMD закроется (и у вас нет времени, чтобы увидеть ошибку).

Bakuriu 13 сен. 2013, в 20:14

Источник: overcoder.net

График, созданный matplotlib.plot.show, закрывается автоматически после завершения сценария python через командную строку

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

После завершения выполнения скрипта график, созданный методом show(), будет закрыт одновременно.

import matplotlib.pyplot as plt plt.scatter([0], [1]) plt.draw() plt.show(block=False) for i in range(10): plt.scatter([i], [i+1]) plt.draw() plt.pause(0.001)

Моя версия ниже:

[email protected]:~/$ sudo pip freeze | grep matplotlib matplotlib==2.2.3 [email protected]:~/$ sudo pip -V pip 18.1 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)
I only execute script in Ubuntu ex: [email protected]: python xxx.py Distributor ID: Ubuntu Description: Ubuntu 16.04.5 LTS Release: 16.04 Codename: xenial

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

Источник: ask-ubuntu.ru

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