Как запустить приложение через python
Каждый разработчик на Python должен знать, как запускать скрипты, потому что это единственный способ проверить работоспособность написанного кода. Чтобы запустить скрипт, программист может использовать:
- Командную строку (терминал).
- Интерактивный режим Python.
- Текстовый редактор или полноценную IDE.
- Менеджер файлов операционной системы (запуск через графический интерфейс).
Каждый способ имеет свои особенности, поэтому его выбор зависит не только от предпочтений или привычек, но и от того, в какой степени программист хочет контролировать параметры запуска скрипта.
Не нужно путать скрипты и модули, хотя различия между ними не велики. Скрипты — это файлы с исполняемым кодом, а модули — файлы, код которых импортируется в скрипты, проще говоря, библиотеки.Интерпретатор и его установка
Интерпретатор — это программное обеспечение, которое позволяет запускать скрипты Python. С технической точки зрения интерпретатор является связующим слоем между кодом на Python и машинным кодом.
Интерпретатор используется каждый раз, когда программист запускает код: в интерактивном режиме, через командную строку, всегда.
Установить интерпретатор на Windows не сложно, достаточно найти Python в Microsoft Store и установить.Если же у вас старая версия Windows и предыдущий вариант не работает, то надо зайти на официальный сайт Python, скачать и запустить установочный файл и следовать инструкциям по установке. Не забудьте при установке выставить галку, чтобы Python был добавлен в Windows PATH.
В Linux обычно ничего устанавливать не требуется, так как Pyton включают в его дистрибутив.
Интерактивный запуск кода Python
Для работы с маленькими кусками кода программисты часто используют режим интерактивного сеанса. В этом режиме введенный код на Python сразу интерпретируется и исполняется. То есть не нужно создавать файл и запускать его.
Чтобы войти в интерактивный режим в Windows, можно использовать один из нескольких способов:
Для выхода из интерактивного режима используются комбинации клавиш: <Ctrl>+<Z> и после этого нажмите <Enter>. Или можно просто прописать в командной строке quit() или exit().
Работать в интерактивном режиме в IDLE можно не только в Windows, но и в Linux, однако в этом нет смысла, потому что терминал Linux достаточно удобен и предоставляет все необходимые инструменты, в отличии от командной строки Windows.Примеры работы в интерактивном сеансе
Интерактивный сеанс является необходимым и важным инструментом. С его помощью программист может быстро проверить код, в работе которого он не уверен.
Код исполняется сразу после ввода, однако это не значит, что в терминале можно использовать только однострочные операции, например:
Обратите внимание, что для вывода результата выражения в терминал в интерактивном сеансе не нужно использовать функцию print().В командной строке также можно писать функции, циклы, условия. Кроме того, в интерактивном сеансе можно импортировать модули.
Командная строка автоматически определяет, когда нужно написать многострочную инструкцию, например, если программист хочет объявить функцию, он пишет:
Следующая команда вызывает только что созданную функцию:
Индикаторы ввода остались на этой же строке, потому что мы установили разделитесь функции print с помощью аргумента end = " " .
Запуск скрипта Python через командную строку
Интерактивный сеанс позволяет тестировать код, но как только он завершится, весь код потеряется.
Запишем его в файл world.py. Запустить его через командную строку можно несколькими способами.
В последних версиях Windows можно запустить скрипт Python просто введя его имя:
Такой запуск возможен благодаря тому, что Windows автоматически определяет, какую программу (в данном случае интерпретатор Python) использовать для запуска файла.
В Linux также можно воспользоваться этим способом, но в начале скрипта Python в первой строке должен быть указан полный путь к интерпретатору:
После этого нужно разрешить запуск файла (сделать его исполняемым).
Запуск модуля
Иногда возникает необходимость запустить модуль, как скрипт. Однако при использовании обычного способа командная строка выдает предупреждение о том, что файл нельзя открыть.
Чтобы запустить модуль, как исполняемый файл, нужно воспользоваться командой:
Перенаправление вывода
Теперь запустим. Полная команда выглядит так:
Здесь output.txt – это текстовый файл, в который записывается результат выполнения скрипта.
Операция может использоваться как в операционной системе Windows, так и в Unix-подобных системах. Если файла, в который должен вывестись результат, не существует, система создаст его автоматически.
Например, у нас уже есть файл output.txt со строкой приветствия (после того как мы его создали предыдущей командой). Теперь допишем в него ещё одну строку:
Таким образом можно последовательно запустить несколько раз этот скрипт и в файл будут дописываться всё новые строки приветствия.
Использование IDLE
IDLE – это официальная интегрированная среда разработки, поставляемая вместе с интерпретатором Python.
Она позволяет работать в интерактивном режиме, писать и запускать скрипты. Кроме того, IDLE поддерживает подсветку синтаксиса и отладку.
Работа в интерактивном режиме не отличается от того, что было описано для командной строки Windows и терминала Linux. Программист пишет код, который сразу исполняется интерпретатором.
Запуск скрипта
Запуск скрипта из интерактивного режима
Иногда при работе в интерактивном режиме возникает необходимость проверить код какого-либо скрипта. Не обязательно использовать терминал или отдельно открывать скрипт в IDLE, его можно запустить прямо из интерактивного сеанса различными способами.
import
При импорте модуля в скрипт выполняется весь содержащийся в нём код. Если модуль содержит только объявления функций и классов и присвоение значений, программист ничего не увидит. Но если модуль выводит что-то на экран, работает с файлами, то это отобразится при импорте.
Таким образом можно импортировать модуль в интерактивном режиме, чтобы увидеть результаты его выполнения, однако сделать это можно только один раз, потому что при последующих импортах в пределах одного сеанса ничего не произойдет, так как при каждом новом импорте интерпретатор обращается к модулю, записанному в кэш, а не к реальному файлу.
Здесь импортировал библиотеку sys для того чтобы в пути прописать полный путь до моего модуля. Видно, что приветствие отображается только после первой попытки импорта моего модуля.
Оператор exec() сначала читает содержимое модуля, затем отправляет его в функцию, которая выполняет код.
Синтаксис выглядит так:
Запуск скриптов из текстового редактора или IDE
Если программист работает над крупным проектом, ему не достаточно стандартной IDLE и блокнота. В этом случае используется либо текстовый редактор, либо полноценная среда разработки IDE.
Для большинства текстовых редакторов разработаны плагины, позволяющие запускать скрипты Python одним кликом мыши. Сейчас очень популярен текстовый редактор VS Code. Вот здесь можно описано как с ним работать.
Запуск скриптов через менеджер файлов
Этот способ можно использовать не только в Windows, но и Unix-подобных системах. Однако после запуска окно консоли будет сразу закрываться. Чтобы решить эту проблему, в конце скрипта добавляется оператор input(), таким образом консоль не закроется, пока не получит ввод от пользователя.
Ещё одной проблемой является невозможность обнаружения и отладки ошибок. Даже если программист добавил оператор input(), при возникновении ошибки в процессе выполнения скрипта консоль закроется.
Это самый ненадёжный способ, который накладывает на программиста много ограничений. Лучше отказаться от идеи пользоваться файловым менеджером во время отладки скриптов и вернуться к стандартным способам запуска через командную строку.
Программа на Python может запускать другие программы с помощью функции Popen() (от process open) встроенного модуля subprocess. В качестве аргумента функция принимает имя программы, которую нужно запустить:
Возвращаемое значение представляет собой объект Popen , имеющий два полезных метода: poll() и wait() .
Метод poll() возвращает значение None , если в момент его вызова процесс все еще выполняется. Если же процесс к этому моменту завершен, то он возвращает код завершения процесса. Код заверешения служит индикатором того, завершился ли процесс без ошибок (код равен нулю) или же его завершение было вызвано ошибкой (ненулевой код).
Метод wait() ожидает завершения запущенного процесса, прежде чем продолжить выполнение основной программы. Возвращаемым значением метода является целочисленный код завершения процесса.
Сначала мы открываем процесс блокнота, затем проверяем, возвращает ли метод poll() значение None . Это означает, что процесс все еще выполняется. После этого закрываем блокнот и еще раз проверяем, возвращает ли метод poll() значение None . Теперь оба метода, wait() и poll() возвращают нулевое значение, что указывает на завершение программы notepad.exe без ошибок.
Передача аргументов командной строки
Процессам, создаваемым с помощью функции Popen() , можно передвать аргументы командной строки. Для этого функции Popen() надо передать список в качестве единственного аргумента. Первой строкой в этом списке должно быть имя исполняемого файла программы, которую надо запустить. Все последующие строки — это аргументы командной строки, которые будут переданы программе при запуске.
Здесь мы не только запускаем приложение notepad.exe , но и открываем файл readme.txt .
Открытие файлов программ по умолчанию
Двойной клик на иконке файла с расширением .txt позволяет автоматически запустить приложение, ассоциированное с этим расширением. Функция Popen() также может открывать файлы подобным образом:
В каждой операционной системе есть программа, выполняющая те же функции, что и двойной клик на иконке файла. В Windows это программа start , в Ubuntu Linux — программа see .
Введение в тему
В этом уроке мы ответим на вопрос: как запустить программу на Python? Чтобы ощутить всю мощь языка Пайтон необходимо уметь запускать код, написанный на нём. Программы на Python 3 запускаются независимо от операционной системы, версии языка и местоположения кода. Программа может храниться в файле, среде разработки или редакторе кода.
Где запускать Python скрипты и как
Запустить программу на Python можно несколькими способами:
1. С помощью консоли (командной строки);
2. Использовать конкретную версию Пайтон или Анаконда;
3. Использовать Crontab;
4. Запустить одну программу Пайтон с помощью другого;
5. Использовать файловый менеджер;
6. Используя интерактивный режим Пайтон;
7. Применить редактор кода или IDE.
Запуск Python кода интерактивно
Если открыть консоль и набрать «python3» + «Enter», то запустится Python shell – интерактивный режим исполнения кода Python. Это означает, что в этом режиме Вы можете построчно вводить код и он, так же построчно, будет выполняться. Чаще всего этот режим используют для отладки каких-то небольших частей программы, а также для запуска скриптов, к примеру, управляющих сервером.
Интерактивный режим в Linux
Для запуска кода в интерактивном режиме в Linux достаточно открыть терминал, ввести
$ python и нажать Enter. Готово!
Интерактивный режим в macOS
В macOS всё устроено так же: вводим /$ python и Enter. Интерактивный режим запущен.
Интерактивный режим в Windows
В операционной системе Windows необходимо войти в командную строку и ввести python. После нажатия Enter консоль будет выглядеть следующим образом:
Запуск python скриптов в интерактивном режиме
В интерактивном режиме можно писать код для проверки гипотез, отладки и прочего. Программа будет выполняться построчно.
Символ «>>>» является «приглашением», то есть язык при помощи этого символа приглашает Вас что-то ввести.
Строчки без этого символа в начале – это «вывод». Вывод – это то, что выводит сам язык, его ответ на код, введённый программистом.
Для выхода из интерактивного режима нужно ввести:
И нажать Enter. Так Вы выйдете из интерактивного режима и вернетесь в терминал, из которого начинали.
Есть и прочие способы выхода из интерактивного режима Python. В Linux нужно нажать Ctrl + D, а в Windows — Ctrl + Z + Enter.
Так же, вместо «exit()», можно ввести:
Результат будет тем же. Эта команда идентична exit() и введена в язык исключительно для удобства программистов.
Обратите внимание что при использовании этого режима Питон-скрипты не сохраняются в файл.
Как выполняются python скрипты
Чтобы понять как происходит выполнение Python-скрипта можно рассмотреть следующий пример:
При выполнении программы Питон читает каждую строку сверху вниз и сразу выполняет её. Если встречается команда «print()», интерпретатор выводит то, что заключено в скобки этой команды. Если встречается команда «input()», Питон будет ожидать ввод с клавиатуры и, после нажатия Enter, перейдёт к выполнению следующей строки.
Блок схема выполнения кода интерпретатором
Общая схема выполнения программы выглядит так:
1. Программа или файл с расширением .py компилируется, и из него генерируются байт-коды. Итоговый код имеет расширение .pyc или .pyo.
Файлы с расширением .pyc автоматически создаются интерпретатором при импортировании кода, что оптимизирует будущие импорты этого модуля. Поэтому такие файлы создаются только из .py файлов, если они импортируются другим файлом или модулем с расширением .py.
Файлы .pyo также создается интерпретатором при импорте модуля, но с указанием интерпретатору включения параметров оптимизации.
Оптимизатор активируется добавлением флага «-O» при вызове интерпретатора Python:
python -O
Файлы .pyo меньше по размеру, благодаря алгоритмам оптимизации, применённым интерпретатором.
Тип файла .pyd, в отличие от предыдущих, применим исключительно для ОС Windows. Эти файлы аналогичны подключаемым библиотекам DLL.
2. Генерируется бинарный файл. Он читается интерпретатором для выполнения инструкций.
Опытные разработчики Python иногда читают байт-коды для лучшего понимания работы программы.
Программисты Python должны знать все возможные способы запуска сценариев или кода Python. Это единственный способ проверить, работает ли код так, как мы хотим. Интерпретатор Python отвечает за выполнение скриптов Python.
Что такое интерпретатор в Python?
Здесь мы описываем серию способов запуска скриптов Python.
- Командная строка операционной системы или терминал.
- Интерактивный режим Python.
- IDE или текстовый редактор.
- Файловый менеджер системы.
Командная строка операционной системы или терминал
Мы можем запустить код Python с помощью командной строки, потому что в оболочке Python после закрытия сеанса мы потеряем весь написанный код. Так что хорошо писать код Python, используя простые текстовые файлы. Текстовый файл должен сохраняться с расширением .py. Посмотрим на следующий пример.
Мы пишем оператор печати Python и сохраняем его как sample.py в рабочем каталоге. Теперь мы запустим этот файл из командной строки.
Откройте командную строку, чтобы запустить скрипт Python. Нам нужно ввести python, а затем имя файла для выполнения файла. Теперь нажмите клавишу ввода, и если в файле нет ошибки, мы увидим следующий результат.
Интерактивный режим Python
Чтобы запустить код Python, мы можем использовать интерактивный сеанс Python. Для запуска интерактивного сеанса Python, просто откройте командную строку или терминал в меню «Пуск», затем введите python и нажмите клавишу ввода.
Вот пример того, как запустить код Python с помощью интерактивной оболочки.
Это позволяет нам проверять каждый фрагмент кода, и это средство делает его отличным инструментом разработки. Но как только мы закроем сеанс, он потеряет весь написанный нами код.
Ниже приведены варианты выхода из интерактивного режима.
- Введите встроенные функции quit() или exit().
- Введите комбинацию клавиш Enter ctrl + Z, чтобы завершить текущий сеанс интерактивной оболочки Python.
IDE или текстовый редактор
Создайте новый проект, а затем создайте новый файл Python с расширением .py.
Теперь нажмите зеленую кнопку, и результат отобразится следующим образом.
Если вы еще не установили интерпретатор Python, то самое время это сделать. Подробно об этом написано здесь.
Python может работать в двух режимах:
В интерактивный режим можно войти, набрав в командной строке
В результате Python запустится в интерактивном режиме и будет ожидать ввод команд пользователя.
Если же у вас есть файл с исходным кодом на Python, и вы его хотите запустить, то для этого нужно в командной строке вызвать интерпретатор Python и в качестве аргумента передать ваш файл. Например, для файла с именем test.py процедура запуска будет выглядеть так:
Интерактивный режим
Откройте Python в интерактивном режиме и наберите в нем следующее:
И нажмите ENTER.
В ответ на это интерпретатор выполнит данную строку и отобразит строкой ниже результат своей работы.
Python можно использовать как калькулятор для различных вычислений, а если дополнительно подключить необходимые математические библиотеки, то по своим возможностям он становится практически равным таким пакетам как Matlab, Octave и т.п.
Различные примеры вычислений приведены ниже. Более подробно об арифметических операциях будет рассказано в следующих уроках.
Для выхода из интерактивного режима, наберите команду
и нажмите ENTER.
В комплекте вместе с интерпретатором Python идет IDLE (интегрированная среда разработки). По своей сути она подобна интерпретатору, запущенному в интерактивном режиме с расширенным набором возможностей (подсветка синтаксиса, просмотр объектов, отладка и т.п.).
Для запуска IDLE в Windows необходимо перейти в папку Python в меню “Пуск” и найти там ярлык с именем “IDLE (Python 3.5 XX-bit)”.
В Linux оболочка IDLE по умолчанию отсутствует, поэтому ее предварительно нужно установить. Для этого, если у вас Ubuntu, введите в командной строке (для Python 3.4):
В результате IDLE будет установлен на ваш компьютер.
Для запуска оболочки, введите:
Ниже представлен внешний вид IDLE в ОС Linux.
Пакетный режим
Теперь запустим Python в режиме интерпретации файлов с исходным кодом (пакетный режим). Создайте файл с именем test.py, откройте его с помощью любого текстового редактора и введите следующий код:
Пример работы программы приведен в окне ниже.
Резюме
Для запуска Python в интерактивном режиме необходимо набрать в командной строке имя исполняемого файла интерпретатора (python или python3) или запустить IDLE (интегрированную среду разработки).
Для запуска Python в пакетном режиме введите в командной строке имя интерпретатора и имя файла с программой на языке Python через пробел:
P.S.
Python. Урок 2. Запуск программ на Python : 25 комментариев
После python test.py этого у меня программа стоит и ничего не делает.
Hello World вывел, а это нет.
Если в файле у вас:
a = int(input())
print(a**2)
то после запуска, вам нужно ввести число, которое потом будет возведено в квадрат.
Эту программу для начала нужно создать, открывает программу которую ты напишешь 🙂
Там проблема с кавычками была, они отрендерились несколько странно) Сейчас поменяли!
С остальными проблем не должно быть (в данном уроке))
Если через командную строку запускаете, то вы должны находиться в каталоге, в котором лежит ваш Boyyy1.py, иначе нужно полный (или относительный) путь до файла указывать.
Мне не помог полный путь, очень актуальна проблема путей ведь хрен знает в каком каталоге находиться python, да ещё и зарытый между папок, неудобно.
Да же херня и у меня
Может, лучше такую программу:
Полезно, кардинально отличается. Столько работ по улучшению!
Запускайте не в cmd , а в PowerShell . Это тоже работа в командной строке. У меня была твкая же проблема
В командной строке перешел на папку где лежит исполняемый файл и набрал python hello.py. Вот что выдало:
Набрал код:
Print(123)
Ввожу в командную строку >python test.ry
командная строка пишет слово Python и всё. Помомгите
привет Игнат, я не программист, только начинаю учиться )
у тебя расширение файла неверное записано: надо test.py, а ты пишешь test.ry
Привет, начинающий программист. А ты не в курсе, почему в PyCharm все работает, в Gitbash файл видит, через саt содержимое выдает. А пишешь в Gitbash python3 имяфайла.py и жмешь ввод.А оно прыгает на следующую строку и пишет Python и все, больше ничего! Вторые сутки дрюкаюсь впустую((
Читайте также: