Как запустить код через командную строку python

Как запустить код через командную строку python

Для запуска Python-скриптов через командную строку используется интерпретатор Python, установленный в системе. В Windows его вызывают через команду python или py, в зависимости от конфигурации. В Linux и macOS – обычно python3. Перед запуском стоит убедиться, что путь к исполняемому файлу Python добавлен в переменную окружения PATH.

Минимальный пример запуска: python script.py, где script.py – путь к файлу. Если используется виртуальное окружение, сначала его нужно активировать. В Windows: venv\Scripts\activate, в Unix-системах: source venv/bin/activate.

Можно передавать аргументы в скрипт: python script.py arg1 arg2. Их обработку внутри кода удобно реализовать с помощью модуля sys или argparse. Для проверки версии Python выполните команду python —version или python -V.

При отладке удобно использовать ключ -i для запуска в интерактивном режиме после выполнения скрипта: python -i script.py. Если требуется выполнить отдельную строку кода без сохранения в файл, используйте ключ -c: python -c «print(‘Пример’)» .

Для автоматизации можно использовать пакетный файл (.bat) или shell-скрипт с командой запуска. Это позволяет запускать Python-код двойным щелчком мыши или через планировщик заданий.

Как выполнить .py-файл через командную строку Windows

Как выполнить .py-файл через командную строку Windows

Откройте командную строку: нажмите Win + R, введите cmd и нажмите Enter.

Перейдите в папку, где находится файл. Например, если файл лежит на рабочем столе, используйте команду cd %USERPROFILE%\Desktop.

Проверьте, установлен ли Python. Введите python --version или py --version. Если система сообщает об ошибке, добавьте Python в переменную среды PATH или используйте полный путь к интерпретатору.

Если установлен Python 3 и он доступен через py, выполните файл так: py имя_файла.py. Если используете python, команда будет: python имя_файла.py.

Если файл требует аргументы, добавьте их после имени файла: py скрипт.py аргумент1 аргумент2.

При наличии нескольких версий Python используйте явное указание: py -3.11 скрипт.py – для запуска через Python 3.11.

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

Запуск Python-скрипта с аргументами командной строки

Для передачи данных в Python-скрипт через командную строку используется модуль sys. Аргументы передаются после имени файла и доступны через sys.argv – список, где первый элемент sys.argv[0] содержит путь к самому скрипту, а последующие – переданные значения.

Пример скрипта calc.py, принимающего два числа и операцию:

import sys
if len(sys.argv) != 4:
print("Использование: python calc.py число1 операция число2")
sys.exit(1)
a = float(sys.argv[1])
op = sys.argv[2]
b = float(sys.argv[3])
if op == "+":
print(a + b)
elif op == "-":
print(a - b)
elif op == "*":
print(a * b)
elif op == "/":
if b == 0:
print("Ошибка: деление на ноль")
else:
print(a / b)
else:
print("Неизвестная операция")

Запуск: python calc.py 5 * 3. Результат: 15.0.

Для более гибкой обработки аргументов предпочтительнее использовать argparse. Этот модуль автоматически создаёт справку и проверяет типы данных.

Пример скрипта с argparse:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("x", type=float)
parser.add_argument("op", choices=["+", "-", "*", "/"])
parser.add_argument("y", type=float)
args = parser.parse_args()
if args.op == "+":
print(args.x + args.y)
elif args.op == "-":
print(args.x - args.y)
elif args.op == "*":
print(args.x * args.y)
else:
if args.y == 0:
print("Ошибка: деление на ноль")
else:
print(args.x / args.y)

Пример запуска: python calc.py 8 / 2. Аргументы можно сделать именованными, добавив флаги: parser.add_argument("--x", type=float, required=True). В этом случае скрипт вызывается так: python calc.py --x 8 --op / --y 2.

Указание версии Python при наличии нескольких установленных интерпретаторов

Указание версии Python при наличии нескольких установленных интерпретаторов

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

  • Для запуска с конкретной версией используйте явную команду:
    • python3.10 script.py
    • python3.12 script.py
  • Проверьте доступные версии:
    • where python в Windows
    • which -a python или ls /usr/bin/python* в Linux/macOS
  • Создайте псевдонимы через переменные окружения или файл .bashrc:
    • alias py310='/usr/bin/python3.10'
    • alias py312='/usr/bin/python3.12'
  • В Windows можно использовать полные пути:
    • "C:\Python310\python.exe" script.py
    • "C:\Python312\python.exe" script.py
  • Если используется py (Windows), добавьте версию после флага:
    • py -3.10 script.py
    • py -3.12 script.py

Для автоматизации можно использовать shebang в Unix-подобных системах:

#!/usr/bin/env python3.10

Убедитесь, что файл исполняемый: chmod +x script.py.

Настройка переменной среды PATH для запуска Python из любого каталога

Настройка переменной среды PATH для запуска Python из любого каталога

Чтобы запускать Python через командную строку без указания полного пути, нужно добавить путь к его исполняемому файлу в переменную среды PATH.

Для Windows:

  1. Откройте Пуск → «Система» → «О системе» → «Дополнительные параметры системы».
  2. Нажмите «Переменные среды».
  3. В разделе «Системные переменные» найдите переменную Path и нажмите «Изменить».
  4. Добавьте путь к каталогу, где находится python.exe, например: C:\Python311\.
  5. Если используется Scripts-каталог (для pip), добавьте также: C:\Python311\Scripts\.
  6. Сохраните изменения и перезапустите командную строку.

Для macOS и Linux:

  1. Откройте терминал.
  2. Определите путь к Python, выполнив which python3 или which python.
  3. Откройте файл ~/.bashrc, ~/.zshrc или ~/.profile (в зависимости от используемой оболочки).
  4. Добавьте строку export PATH="/путь/к/python:$PATH", заменив /путь/к/python на фактический путь, например: /usr/local/bin.
  5. Сохраните файл и выполните source ~/.bashrc (или соответствующий файл), чтобы применить изменения.

Проверка:

  • Откройте новое окно командной строки или терминала.
  • Введите python --version или python3 --version.
  • Если путь указан верно, отобразится установленная версия Python.

Запуск кода Python напрямую из командной строки без создания файла

Для однострочного кода используйте флаг -c. Это позволяет выполнять команды без создания скрипта:

python -c "print('Привет, мир')" 

Можно импортировать модули и использовать конструкции языка:

python -c "import math; print(math.sqrt(16))"

Поддерживаются многострочные конструкции с использованием точек с запятой, но читаемость быстро теряется. Например:

python -c "for i in range(3): print(i); print('---')" 

Для сложных выражений предпочтительнее использовать интерактивный режим. Вызовите его просто:

python

После этого можно выполнять код построчно в REPL-среде. Для выхода используйте exit() или сочетание Ctrl+D (в Unix) / Ctrl+Z (в Windows).

Альтернатива – передача stdin через echo или heredoc:

echo "print('Пример')" | python
python <<END
for i in range(2):
print(f"Число {i}")
END

Такой способ подходит для временных блоков кода и сценариев, генерируемых другими программами. Следует избегать интерполяции оболочки, если в коде встречаются спецсимволы, например $ или кавычки. В таких случаях используйте экранирование или одинарные кавычки.

Выполнение скриптов Python с помощью командного файла.bat

Для автоматизации запуска Python-скриптов в Windows можно использовать командные файлы (.bat). Такой подход позволяет запускать Python-код без необходимости вручную открывать командную строку и вводить команды. Это полезно для регулярных задач или когда требуется сделать процесс запуска более удобным.

Чтобы создать командный файл для выполнения Python-скрипта, выполните следующие шаги:

1. Откройте текстовый редактор (например, Notepad) и создайте новый файл.

2. Введите команду для запуска вашего Python-скрипта. Например:

python C:\путь\к\вашему\скрипту.py

3. Сохраните файл с расширением .bat. Например, «run_script.bat». Теперь при двойном щелчке на этом файле будет запускаться ваш скрипт.

Если Python не установлен в системной переменной PATH, используйте полный путь к исполняемому файлу Python. Например:

C:\путь\к\python.exe C:\путь\к\вашему\скрипту.py
echo Запуск скрипта...
python C:\путь\к\вашему\скрипту.py
echo Скрипт завершен.

Если скрипт требует использования определенной среды, например, виртуальной среды Python, можно активировать её в командном файле:

call C:\путь\к\вашей\виртуальной_среде\Scripts\activate.bat
python C:\путь\к\вашему\скрипту.py
deactivate

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

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

Обработка ошибок с использованием конструкций try/except

Самый простой способ обработки ошибок в Python – это использование блоков try и except. Этот подход позволяет избежать аварийного завершения программы, если возникнут непредвиденные ошибки. Пример:

try:
# Ваш код
except Exception as e:
print(f"Произошла ошибка: {e}")
python -v script.py

Этот флаг активирует подробный режим, который отображает все импортируемые модули и выполняемые строки кода.

Логирование ошибок

Еще один способ – это логирование ошибок с помощью встроенного модуля logging. Включение логирования помогает фиксировать ошибки и другую информацию, что полезно для последующего анализа. Пример настройки логирования:

import logging
logging.basicConfig(level=logging.DEBUG)
logging.debug("Отладочная информация")
logging.error("Ошибка")

Использование print для диагностики

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

Просмотр traceback

Если скрипт завершился с ошибкой, Python предоставляет traceback – подробную информацию о месте возникновения ошибки. Это поможет понять, в какой строке произошла ошибка и какой код был выполнен до этого момента. Например:

Traceback (most recent call last):
File "script.py", line 3, in 
print(10 / 0)
ZeroDivisionError: division by zero

Для большинства ошибок в Python traceback даёт достаточно информации, чтобы быстро понять причину сбоя и исправить её.

Вопрос-ответ:

Как запустить Python-скрипт через командную строку в Windows?

Чтобы запустить Python-скрипт через командную строку в Windows, нужно выполнить несколько шагов. Сначала откройте командную строку (нажмите Win + R, затем введите «cmd»). Перейдите в папку, где находится ваш скрипт, с помощью команды `cd путь_к_папке`. После этого введите команду `python имя_скрипта.py` и нажмите Enter. Если Python не установлен или не добавлен в PATH, нужно будет сначала установить его и настроить системную переменную PATH.

Что делать, если при попытке запустить Python-скрипт через командную строку появляется ошибка «python не является внутренней или внешней командой»?

Ошибка «python не является внутренней или внешней командой» возникает, когда Python не добавлен в системную переменную PATH. Чтобы исправить это, нужно открыть «Свойства системы», затем выбрать «Переменные среды». В разделе «Системные переменные» найдите переменную PATH и добавьте путь к папке с исполнимым файлом Python (например, `C:\Python39`). После этого перезапустите командную строку, и Python будет доступен для запуска.

Можно ли запускать Python-скрипт, не переходя в его директорию?

Да, можно. Чтобы запустить Python-скрипт из любой директории, нужно указать полный путь к файлу в командной строке. Например, если скрипт находится в папке `C:\Users\Username\Documents\script.py`, вы можете запустить его с помощью команды `python C:\Users\Username\Documents\script.py`. Важно, чтобы путь был корректно прописан и не содержал ошибок.

Ссылка на основную публикацию