Рубрики
Без рубрики

Как выполнить файл в переводчике Python

https://youtu.be/k6wfcubjyaw Независимо от стадии вашей карьеры развития Python, вы, вероятно, уже ценят важность бега и тестирования вашего кода. Это единственный способ убедиться, что он работает как запланировано и делает то, что вам нужно сделать. Но как вы на самом деле запускаете скрипты и код? Эта статья даст вам … Как выполнить файл в переводчике Python Подробнее »

Автор оригинала: Rikesh Nichani.

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

Что такое переводчик Python

Для начала, давайте просто уточним, что на самом деле есть переводчик Python. Я считаю, что самое простое описание – это лучшее – он интерпретирует код Python, который вы пишете, и делает его понятно на компьютер, на котором вы хотите запустить код.

Бег сценариев Python

Для начала, давайте создадим тестовый скрипт. Я буду использовать скрипт ниже, который я сохраню в файле под названием test_script.py В каталоге C: \ Пользователи \ Rikesh :

print('Hello, my name is Rikesh and I am a Python developer')

Все методы, изложенные ниже, смотрят различные способы выполнения этой простой простой строки кода, используя машину Windows 10, запущенного Python v.3.8.6.

Способ 1: Использование командной строки

Для меня это самый простой способ запуска ваших сценариев. В то время как могут быть вариации конкретного синтаксиса, принцип одинаково – вызвать интерпретатор Python, а затем сообщить ему имя сценария, которое вы хотите запустить.

Пройти, как это сделано:

Откройте командную строку Подскажите и перейдите в тот же рабочий каталог, что и ваш скрипт:

C:\Users\Rikesh>

Вызовите переводчик Python, набрав его имя. Это обычно делается просто набрав Python Но если у вас установлены старые версии Python и хотите указать Версия 3.x.x Вы можете использовать Python3 Отказ Поскольку у меня есть только одна версия, даже если это версия 3, я могу просто использовать Python по умолчанию. Наконец, нам просто нужно указать интерпретатор Python нашему сценарию, указав имя файла и нажмите «Войти» :

C:\Users\Rikesh>python test_script.py 
Hello, my name is Rikesh and I am a Python developer

Использование командной строки в Windows

Если вы используете Windows, у вас есть еще несколько вариантов для запуска ваших скриптов из командной строки.

PY Это утилита Python Launcher, которая поставляется с установками Python в Windows. По умолчанию он будет использовать новейшую версию Python, которая установлена на вашем компьютере. Итак, для запуска сценариев Python на машине Windows мы также можем использовать:

C:\Users\Rikesh>py test_script.py 
Hello, my name is Rikesh and I am a Python developer 

Наконец, самые последние версии Windows узнают, что вы пытаетесь запустить скрипт Python из файловой ассоциации .py Так что нет необходимости вообще вызывать переводчик Python!

C:\Users\Rikesh>test_script.py 
Hello, my name is Rikesh and I am a Python developer

Способ 2: Запуск сценариев интерактивно с использованием импорта

Могут быть времена, когда нецелесообразно запускать скрипты или код через командную строку, поэтому мы также можем запустить их непосредственно через интерактивную оболочку Python. Начать с того, что нам нужно открыть интерактивную оболочку Python, набрав Python в нашей командной строке. Опять же, мы должны убедиться, что мы находимся в одном рабочем каталоге, что и наш скрипт.

C:\Users\Rikesh>python
>>>

Мы знаем, что это работало, когда мы видим, что показывает нам, что мы находимся в раковине Python.

Если у вас есть какой-либо опыт использования Python, вы, вероятно, будете знакомы с модулем импорта при импорте скриптов и библиотек для последующего использования. Модуль импорта также выполняет любой код как часть этого процесса, хотя это видят только при создании видимого вывода. Учитывая наш сценарий, по сути, это оператор печати, мы можем использовать его в наше преимущество:

>>>import test_script
Hello, my name is Rikesh and I am a Python developer 

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

>>>import test_script
>>> 

Способ 3: Запуск сценариев интерактивно с использованием стандартной библиотеки Python: ImportLib

Стандартная библиотека Python имеет ряд модулей, которые также могут запускать сценарии Python. Давайте посмотрим на два ключевых: ImportLib и Runpy Отказ

Import_module ImportLib Работает так же, как стандартный импортный модуль, описанный ранее.

>>>import importlib
>>>importlib.import_module('test_script') 
Hello, my name is Rikesh and I am a Python Developer

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

>>>importlib.import_module('test_script') 

Чтобы снова запустить, вы должны использовать ImportLib.reload () Функция, которая, как называет имя, перезагружает функцию. Но обратите внимание, что аргумент для .reload () Функция должна быть именем модуля, а не строка I.e test_script не 'test_script' :

>>>import importlib
>>>importlib.reload(test_script) 
Hello, my name is Rikesh and I am a Python Developer

Способ 4: Запуск сценариев интерактивно с использованием стандартной библиотеки Python: Runpy

Runpy Модуль используется для определения местоположения и запуска модулей Python, не импортируя их первым.

В этом модуле есть две функции, которые могут помочь нам выполнить наш файл: Runpy.run_module () и Runpy.run_Path ( ). Хотя я включил код ниже, следует отметить, что в дополнение к выполнению скрипта, он также возвращает весь глобал Словарь модуля. Когда я впервые попробовал это, моя первоначальная реакция заключалась в том, что произошла ошибка, поскольку вывод оператора печати был потерян в выходе словаря.

>>>import runpy
>>>runpy.run_module(mod_name='test_script') 
Hello, my name is Rikesh and I am a Python Developer
{'__name__': 'test_script',
    …
'_': None}}

Как вы можете видеть, это берет строку сценария без .py Расширение I.e 'test_script' как первый аргумент.

В качестве альтернативы вы можете использовать run_path () Что позволяет вам запустить файл на основе местоположения:

>>>import runpy
>>>runpy.run_path('test_script.py') 
Hello, my name is Rikesh and I am a Python Developer
{'__name__': '',
    …
'_': None}}

Хотя Runpy Модуль выполняет файл, учитывая ограничения с Печать словаря Это ограничено. Основное использование Runpy Модуль в Python – это реализовать Команда, а не запускать скрипты напрямую.

Метод 5: функция EXEC ()

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

>>>exec(open('test_script.py').read())
Hello, my name is Rikesh and I am a Python developer 

Когда я изначально увидел эту функцию, оказалось самым логичным для всех интерактивных примеров. Поскольку командная строка указывает, мы открываем файл ( test_script.py ' ), читая его, а затем используя EXEC () Функция для выполнения. Никакие словари не напечатаны, и вы можете использовать эту функцию несколько раз без проблем. На мой взгляд, это самый простой и наиболее эффективный способ интерактивно бегать сценариев Python.

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

Резюме

Как видите, существуют различные способы выполнения файлов в интерпретатере Python – что имеет смысл, когда Python такой универсальный язык. Лучший способ выполнения файлов, по-видимому, зависят от нескольких факторов, включая версию используемого Python, фактический сценарий и код выполняются – и наиболее важнодоступные предпочтения пользователя.