В этой статье мы рассмотрим несколько способов запустить скрипт (сценарий) Python. Мы будем запускать скрипты в терминале, в редакторе кода и интерактивно.
Что такое скрипт?
В вычислительной технике код – это язык, преобразованный из человеческого языка в набор “слов”, которые может понять компьютер. Его также называют частью утверждений, которые вместе образуют программу. Простая функция или утверждение также могут считаться кодом.
С другой стороны, скрипт (или сценарий) – это файл, состоящий из логической последовательности инструкций, или файл пакетной обработки, который интерпретируется другой программой вместо процессора компьютера.
Проще говоря, скрипт – это простая программа, хранящаяся в обычном текстовом файле и содержащая код Python. Пользователь может напрямую выполнять этот код. Скрипты также называют программными файлами верхнего уровня.
Модуль – это объект Python с произвольными атрибутами, которые можно связывать и ссылаться на них.
Python – язык программирования или скриптовый язык?
В принципе, все скриптове языки считаются языками программирования. Основное различие между ними заключается в том, что языки программирования компилируются, в то время как скриптовые языки интерпретируются.
Как запустить python/питон через терминал Mac OS / How to run python on MAC OS
Скриптове языки медленнее языков программирования. Поскольку они работают только на подмножестве языков программирования, у них меньше доступа к локальным возможностям компьютера.
Python можно назвать как скриптовым языком, так и языком программирования, поскольку он работает и как компилятор, и как интерпретатор. Стандартный Python может компилировать код Python в байткоды, а затем интерпретировать его так же, как Java и C.
Однако, учитывая исторические отношения между языком программирования общего назначения и скриптовым языком, правильнее было бы сказать, что Python – это язык программирования общего назначения, который прекрасно работает и как скриптовый язык.
Интерпретатор Python
Интерпретатор – это слой программного обеспечения, который работает как мост между программой и аппаратным обеспечением системы для выполнения кода. То есть это приложение, которое отвечает за выполнение скриптов Python.
Интерпретатор Python работает в среде Read-Eval-Print-Loop (REPL):
- читает команду
- оценивает ее
- печатает результат
- зацикливается, и процесс повторяется
Для завершения работы интерпретатора используется команда exit() или quit() , в противном случае выполнение продолжается.
Интерпретатор Python запускает код двумя способами:
- В виде скрипта или модуля
- В виде фрагмента кода, написанного в интерактивном сеансе
Запуск интерпретатора Python
Самый простой способ запустить интерпретатор – открыть терминал, а затем использовать интерпретатор из командной строки.
Чтобы открыть интерпретатор из командной строки:
- В Windows командная строка также называется консолью MS-DOS. Более быстрый способ получить к ней доступ – перейти в меню Пуск → Выполнить и набрать cmd .
- В GNU/Linux доступ к командной строке можно получить с помощью нескольких приложений, таких как xterm, Gnome Terminal или Konsole.
- В MAC OS X доступ к системному терминалу осуществляется через Приложения → Утилиты → Терминал.
Выполнение кода Python в интерактивном режиме
Выполнение кода Python через интерактивную сессию широко распространено. Интерактивная сессия является отличным инструментом разработки для знакомства с языком и позволяет тестировать каждый фрагмент кода Python на ходу.
Основы работы с терминалом за 20 минут!
Чтобы запустить интерактивную сессию Python, введите python в командной строке или терминале и нажмите клавишу ENTER на клавиатуре.
Пример того, как это сделать в Windows:
C:users>python Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] on win32 Type «help», «copyright», «credits» or «license()» for more information. >>>
Символы >>> в терминале представляют собой стандартное приглашение командной строки. Если вы не видите этих символов после запуска команды python , вам необходимо переустановить Python в вашей системе.
Примечание редакции: об установке Python читайте в статье “Как установить Python на Windows 10 или 11”.
Утверждения, которые вы пишете при работе в интерактивном сеансе, оцениваются и выполняются немедленно:
print(‘HELLO WORLD!’) HELLO WORLD! 2 + 3 5 print(‘Welcome to the world of PYTHON’) Welcome to the world of PYTHON
Единственный недостаток – когда вы закрываете интерактивную сессию, код больше не существует.
Как запустить скрипт Python с помощью интерпретатора
Термином Python Execution Model обозначается весь многоэтапный процесс выполнения сценария Python.
Сначала утверждения или выражения вашего сценария последовательно обрабатываются интерпретатором.
Затем код компилируется в форму набора инструкций, называемую байткодом. По сути, код преобразуется в низкоуровневый язык, известный как байткод. Это промежуточный, машинно-независимый код, который оптимизирует процесс выполнения кода. Благодаря этому интерпретатор игнорирует этап компиляции при выполнении кода в следующий раз.
Наконец, интерпретатор передает код на выполнение. Виртуальная машина Python (PVM) является завершающим этапом процесса интерпретации Python. Это часть среды Python, установленной в вашей системе. PVM загружает байткод в среду выполнения Python, считывает каждую операцию и выполняет их в соответствии с указаниями. Это компонент, который фактически выполняет ваши сценарии.
Как запустить скрипт Python с помощью командной строки
Самый востребованный способ написания программ на Python – это использование обычного текстового редактора. Код, написанный в интерактивном сеансе Python, теряется после его закрытия, хотя и позволяет пользователю написать много строк кода. Но если написать код в текстовом редакторе, его можно сохранить в виде файла. В Windows файлы сценариев Python имеют расширение .py.
Если вы только начинаете работать с Python, вы можете использовать такие простые в использовании редакторы, как Sublime или Notepad++, или любые другие.
Примечание редакции: со списком доступных редакторов кода можно ознакомиться, прочитав статью “Лучшие редакторы кода и IDE для Python”.
Теперь вам нужно создать тестовый скрипт. Для этого откройте ваш текстовый редактор и напишите следующий код:
print(‘Hello World!’)
Затем сохраните файл на рабочем столе с именем first_script.py или любым другим, которое вам нравится. Помните, что вам нужно дать файлу расширение .py .
Вы получили скрипт Python. А теперь рассмотрим, как можно его запустить.
1. Использование команды python
Самый простой и легкий способ запустить скрипт Python в командной строке – это использовать команду python . Вам нужно открыть командную строку и ввести слово python , после чего указать путь к файлу вашего скрипта, как показано ниже:
python first_script.py Hello World!
Затем вы нажимаете на кнопку ENTER, и все. Вы видите на экране фразу Hello World! Поздравляю! Вы только что запустили свой первый сценарий Python.
Однако, если вы не получили результат, возможно, вам стоит проверить системный PATH и место, куда вы сохранили файл. Если скрипт все равно не запускается, переустановите Python в вашей системе и попробуйте снова.
2. Перенаправление вывода
В Windows и Unix-подобных системах есть процесс, называемый перенаправлением потока. Стандартный системный вывод – на экран. Как в предыдущем примере, когда вы запустили python first_script.py в командной строке и на экран вывелось Hello World! . Но вы можете перенаправить вывод запущенной команды в какой-нибудь файл. Это полезно для сохранения вывода в другом файле для последующего анализа.
Пример того, как это можно сделать:
python first_script.py > output.txt
Происходит следующее: результат работы вашего сценария Python перенаправляется в файл output.txt. Если файл output.txt не существует, он будет создан. А если такой файл есть, его содержимое заменится на результаты работы вашего сценария.
3. Запуск модулей с опцией -m
Модуль – это файл, содержащий код. Он позволяет логически упорядочить код Python. В модуле определяется функции, классы и переменные, а также он может содержать запускаемый код.
Если вы хотите запустить модуль Python, к вашим услугам множество опций командной строки, которые можно применять в зависимости от потребностей пользователя. Одной из них является следующая команда:
python -m
Она ищет имя модуля в sys.path и запускает его содержимое как __main__ :
python -m first_script Hello World!
Обратите внимание, что module-name – это объект модуля, а не какая-либо строка.
4. Использование имени файла скрипта
Windows использует системные регистры и ассоциацию файлов для запуска сценариев Python. Операционная система сама определяет программу, необходимую для запуска конкретного файла. Вам нужно просто ввести имя файла, содержащего код.
Пример того, как это сделать с помощью командной строки:
C:UsersLocalPythonPython37> first_script.py Hello World!
В системах GNU/Linux необходимо добавить в скрипте строку перед текстом – #!/usr/bin/env python . Python не считает эту строку частью вашего кода, но она помогает системе решить, какую программу следует использовать для запуска файла.
С комбинации символов #! , известной как hashbang или shebang, начинается строка, за которой следует путь к интерпретатору.
Наконец, чтобы запустить скрипт в системах GNU/Linux, добавьте файлу разрешение на выполнение, а затем просто введите имя файла (путь к файлу) в командной строке:
# Добавление прав на выполнение chmod +x first_script.py # Запуск скрипта по имени ./first_script.py Hello World!
Если это не сработает, проверьте, правильно ли вы указали путь к скрипту.
Как запустить скрипт Python в интерактивном режиме
Как мы обсуждали ранее, запуск скриптов Python в интерактивной сессии является наиболее распространенным способом запуска скриптов и предоставляет широкий спектр возможностей.
Использование импорта
Импорт модуля означает загрузку его содержимого, чтобы впоследствии к нему можно было получить доступ и использовать. Это самый обычный способ обращения к механизму импорта. Он аналогичен #include в C или C++. Используя импорт, код Python в одном модуле получает доступ к коду в другом модуле.
import first_script Hello World!
Какой-либо вывод вы увидите только если модуль содержит вызовы функций, методов или других операторов, которые генерируют видимый вывод.
Важно отметить, что опция импорта работает только один раз за сеанс. Это связано с тем, что такие операции являются дорогостоящими.
Чтобы этот метод работал эффективно, вы должны хранить файл с кодом Python в текущем рабочем каталоге, а также этот файл должен находиться в пути поиска модулей Python (PMSP). PMSP – это место, куда импортируются модули и пакеты.
Вы можете выполнить приведенный ниже код, чтобы узнать, что находится в вашем текущем PSMP:
import sys for path in sys.path: print(path)
Вы получите список каталогов и .zip-файлов, в которые импортированы ваши модули и пакеты:
UsersLocalPython37Libidlelib UsersLocalPython37python37.zip UsersLocalPython37DLLs UsersLocalPython37lib UsersLocalPython37 UsersLocalPython37libsite-packages
Использование importlib
importlib – это модуль, который является реализацией оператора import в коде Python. Он содержит модуль import_module, работа которого заключается в выполнении любого модуля или скрипта путем имитации операции импорта.
Пример выполнения этой операции:
import importlib importlib.import_module(‘first_script’) Hello World!
importlib.reload() используется для повторного импорта модуля, поскольку вы не можете использовать import для запуска модуля во второй раз. Даже если вы используете import повторно, это ничего не даст. importlib.reload() полезен, когда вы хотите откорректировать и протестировать свои изменения без выхода из текущей сессии.
Следующий код показывает это:
import first_script # Первый import Hello World! import first_script import importlib # Второй import не делает ничего importlib.reload(first_script) Hello World!
Однако в качестве аргумента reload() можно использовать только объект модуля, а не любую строку. Если вы используете в качестве аргумента строку, будет выдана ошибка TypeError:
importlib.reload(first_script)
Traceback (most recent call last): . . raise TypeError(«reload() argument must be a module») TypeError: reload() argument must be a module
Использование runpy.run_module() и runpy.run_path()
В стандартной библиотеке Python есть модуль runpy. run_module() – это функция в runpy, работа которой заключается в выполнении модулей без их предварительного импорта.
Модуль находится с помощью import , а затем выполняется. Первый аргумент run_module() должен содержать строку:
import runpy runpy.run_module(mod_name=’first_script’) Hello World! >
В runpy есть еще одна функция – run_path() , которая позволяет вам запустить модуль, указав его местоположение. Пример:
import runpy runpy.run_path(file_path=’first_script.py’) Hello World! ‘, . ‘_’: None>>
Обе функции возвращают словарь globals из выполняемого модуля.
Как запустить скрипт Python при помощи exec()
Помимо наиболее часто используемых способов запуска скриптов Python существуют и другие. Один из них – использование встроенной функции exec() . Она используется для динамического выполнения кода Python, будь то строка или объектный код.
Пример применения функции exec() :
exec(open(‘first_script.py’).read()) Hello World!
Использование py_compile
py_compile – это модуль, который ведет себя подобно оператору import . Он генерирует две функции: одну для генерации байткода из исходного файла и вторую для вызова исходного файла как сценария.
С помощью этого модуля вы можете скомпилировать свой скрипт Python:
import py_compile py_compile.compile(‘first_script.py’ ‘__pycache__\first_script.cpython-37.pyc’
py_compile создает новый подкаталог с именем __pycache__ , если он еще не существует. Внутри этого подкаталога создается версия файла скрипта в формате Compiled Python File (с расширением .pyc ). Когда вы откроете файл .pyc , вы сможете увидеть вывод вашего сценария Python.
Как запустить скрипт Python с помощью IDE или текстового редактора
Интегрированная среда разработки (IDE) – это приложение, которое позволяет разработчику создавать программное обеспечение в интегрированной среде в дополнение к необходимым инструментам.
Для написания, отладки, изменения и запуска ваших модулей и сценариев вы можете воспользоваться Python IDLE – IDE по умолчанию в стандартном дистрибутиве Python. Можно использовать и другие IDE или редакторы кода, такие как Spyder, PyCharm, Eclipse и Jupyter Notebook, позволяющие запускать ваши скрипты внутри их среды.
Чтобы запустить скрипт Python из IDE или текстового редактора, сначала необходимо создать проект. После создания проекта добавьте в него свой файл .py или просто напишите его прямо в IDE. Наконец, запустите этот файл, и вы сможете увидеть результат на экране.
Как запустить скрипт Python из файлового менеджера
Если вы хотите запустить свой Python-скрипт в файловом менеджере, все, что вам нужно сделать, это дважды щелкнуть по значку файла. Этот вариант в основном используется на этапе производства после того, как вы выпустили исходный код.
Однако для этого необходимо выполнить некоторые условия.
В Windows для запуска скрипта двойным щелчком по нему необходимо сохранить файл скрипта с расширением .py для python.exe и .pyw для pythonw.exe.
Если вы используете командную строку для запуска вашего сценария, то, скорее всего, вы можете столкнуться с ситуацией, когда на экране появится черное окно. Чтобы избежать этого, включите в хвост сценария оператор input(‘Enter’) . Это приведет к выходу из программы только при нажатии клавиши ENTER. Обратите внимание, что функция input() будет работать только в том случае, если в вашем коде нет ошибок.
В GNU/Linux и других Unix-подобных системах ваш сценарий Python должен содержать строку с hashbang и иметь права на выполнение. В противном случае трюк с двойным щелчком не сработает в файловом менеджере.
Хотя выполнить сценарий простым двойным щелчком по файлу легко, этот вариант не считается целесообразным из-за ограничений и факторов зависимости, таких как операционная система, файловый менеджер, разрешения на выполнение, а также ассоциации файлов. Поэтому рекомендуется использовать эту опцию только после того, как код отлажен и готов к выходу на рынок.
Заключение
Работа со скриптами имеет свои преимущества: они просты в освоении и использовании, быстро редактируются и выполняются, интерактивны, функциональны и так далее. Они также используются для автоматизации сложных задач в упрощенной манере.
Из этой статьи вы узнали, как запускать скрипты Python с помощью:
- терминала или командной строки операционной системы
- интерактивной сессии Python
- вашей любимой IDE или текстового редактора
- системного файлового менеджера
Научившись разным техникам запуска скриптов, вы будете чувствовать себя более комфортно, работая с большими и более сложными средами Python, что улучшит процесс разработки и повысит эффективность.
1 комментарий к “Как запустить скрипт Python”
- Пингбэк: Как создать Telegram-бота с помощью Python — pythonturbo
Источник: pythonturbo.ru
Как запустить скрипт Python
Какой бы язык программирования вы не начали изучать, вашей первой программой, скорее всего, будет «Hello World!».
Допустим, вы хотите написать такую программу на Python. Это можно сделать двумя способами: писать сразу в оболочке Python либо написать скрипт в редакторе кода и затем запускать в терминале.
Что такое оболочка?
Операционная система состоит из множества программ. Они выполняют различные задачи: управление файлами, памятью, ресурсами. Также они обеспечивают беспроблемный запуск ваших приложений.
Что бы мы ни делали на компьютере — от анализа данных в Excel до игр — все облегчается операционной системой.
Программы операционной системы делятся на два вида: программы оболочки и ядра.
Программы ядра выполняют такие задачи, как создание файла или отправка прерываний. Задача оболочки — принимать инпут, определять, какую программу ядра требуется запустить для обработки этого инпута, запускать ее и показывать результат.
Оболочка также называется командным процессором.
Что такое терминал?
Терминал — это программа, которая взаимодействует с оболочкой и позволяет нам коммуницировать с ней при помощи текстовых команд. Поэтому его также называют командной строкой.
Чтобы открыть терминал в Windows, нажмите клавиши Windows + R , затем наберите cmd и нажмите Enter. В Linux терминал открывается сочетанием клавиш Ctrl + Alt + T .
Что такое оболочка Python?
Python — это интерпретируемый язык программирования. Это значит, что интерпретатор Python читает строку кода, выполняет эту строку, а затем, если на этом шаге нет ошибок, процесс повторяется.
Оболочка Python дает вам интерфейс командной строки. С его помощью можно интерактивно передавать команды непосредственно в интерпретатор Python.
Подробнее об оболочке Python можно почитать в документации.
От редакции Pythonist. Об интерпретаторах Python можно почитать в статье «Топ-7 бесплатных компиляторов и интерпретаторов Python».
Как пользоваться оболочкой Python?
Чтобы запустить оболочку Python, просто введите python в терминале и нажмите Enter.
C:UsersSuchandra Datta>python Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)] on win32 Type «help», «copyright», «credits» or «license» for more information. >>>print(«hello world!»)
Интерактивная оболочка еще называется REPL (read-evaluate-print loop — «цикл „чтение — вычисление — вывод“». Она читает команду, оценивает и выполняет ее, выводит результат (если он есть) и повторяет этот процесс, пока вы не выйдете из оболочки.
Выйти из оболочки можно по-разному:
- нажать Ctrl+Z в Windows или Ctrl+D в Unix-подобных системах
- выполнить команду exit()
- выполнить команду quit()
C:UsersSuchandra Datta>python Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)] on win32 Type «help», «copyright», «credits» or «license» for more information. >>> print(«HELLO WORLD») HELLO WORLD >>> quit() C:UsersSuchandra Datta>
C:UsersSuchandra Datta>python Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)] on win32 Type «help», «copyright», «credits» or «license» for more information. >>> exit() C:UsersSuchandra Datta>
C:UsersSuchandra Datta>python Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)] on win32 Type «help», «copyright», «credits» or «license» for more information. >>> ^Z C:UsersSuchandra Datta>
Что можно делать в оболочке Python?
В оболочке можно делать практически все, что вообще позволяет делать язык Python: использовать переменные, циклы, условия для определения функций и т. д.
Символы >>> — это приглашение оболочки, тут вы можете вводить свои команды. Если ваши команды занимают несколько строк, например, при определении цикла, оболочка выводит троеточие … , которое сигнализирует о продолжении строки.
Давайте рассмотрим пример:
>>> >>> watch_list = [«stranger_things_s1», «stranger_things_s2», «stranger_things_s3″,»stranger_things_s4»] >>> >>>
Здесь мы определили список сериалов прямо в оболочке Python.
Теперь давайте определим функцию. Она будет принимать наш список сериалов и возвращать один из них случайным образом.
>>> def weekend_party(show_list): . r = random.randint(0, len(show_list)-1) . return show_list[r] .
Обратите внимание на троеточия в начале строк.
Наконец, чтобы запустить функцию в оболочке, мы просто вызываем ее так же, как делали бы это в скрипте:
>>> weekend_party(watch_list) ‘stranger_things_s1’ >>> >>> >>> weekend_party(watch_list) ‘stranger_things_s3’ >>> >>> >>> weekend_party(watch_list) ‘stranger_things_s2’ >>> >>> >>> weekend_party(watch_list) ‘stranger_things_s2’ >>> >>> >>> weekend_party(watch_list) ‘stranger_things_s3’ >>>
В оболочке можно просматривать модули Python:
>>> >>> >>> import numpy >>> numpy.__version__ ‘1.20.1’ >>>
Посмотреть, какие методы и атрибуты предлагает модуль, можно при помощи метода dir() :
>>> >>> x = dir(numpy) >>> len(x) 606 >>> x[0:3] [‘ALLOW_THREADS’, ‘AxisError’, ‘BUFSIZE’]
Запуск python скрипта в Linux
Python — очень популярный язык программирования для написания различных системных скриптов в Linux. В Windows, там где не хватает возможностей командной оболочки используется PowerShell. В Linux же, когда возможностей Bash не хватает используется язык Python.
На этом языке написано огромное количество системных программ, среди них пакетный менеджер apt, видеоредактор OpenShot, а также множество скриптов, которые вы можете установить с помощью утилиты pip. В этой небольшой статье мы рассмотрим как запустить Python скрипт в Linux с помощью терминала различными способами.
Запуск python скрипта в Linux
Для примера нам понадобится Python скрипт. Чтобы не брать какой-либо из существующих скриптов, давайте напишем свой:
print(«Hello from losst!»)
Для того чтобы запустить скрипт необходимо передать его интерпретатору Python. Для этого просто откройте терминал с помощью сочетания клавиш Ctrl + Alt + T, перейдите в папку со скриптом и выполните:
Если вы хотите, чтобы после выполнения скрипта открылась консоль, в которой можно интерактивно выполнять команды языка Python используйте опцию -i:
python -i script.py
Но как вы могли заметить, при запуске apt или openshot не надо писать слово python. Это намного удобнее. Давайте разберемся как это реализовать. Если вы не хотите указывать интерпретатор в командной строке, его надо указать в самом скрипте. Для этого следует в начало скрипта добавить такую строчку:
Сохраните изменения, а затем сделайте файл скрипта исполняемым с помощью такой команды:
chmod ugo+x script.py
После этого можно запустить скрипт Python просто обращаясь к его файлу:
Если убрать расширение .py и переместить скрипт в каталог, находящийся в переменной PATH, например /usr/bin/, то его можно будет выполнять вот так:
Как видите, запуск команды python Linux выполняется довольно просто и для этого даже есть несколько способов. А каким способом пользуетесь вы? Напишите в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Источник: losst.pro