Для запуска Python-скрипта через командную строку потребуется установленный интерпретатор Python и доступ к терминалу. На Windows это может быть PowerShell или командная строка (cmd), на Linux и macOS – встроенный терминал.
Сначала нужно проверить, установлен ли Python. Введите python —version или python3 —version в командной строке. Если команда возвращает версию, Python установлен корректно. В противном случае потребуется установка с официального сайта или через пакетный менеджер, например apt или brew.
Файл с расширением .py должен быть сохранён в доступной директории. Для запуска необходимо перейти в эту директорию командой cd путь_к_папке. После этого используется команда запуска: python имя_файла.py или python3 имя_файла.py, в зависимости от настроек системы.
Если в системе настроено несколько версий Python, стоит использовать точное имя интерпретатора: например, python3.10 script.py. Это исключает ошибки, связанные с запуском скрипта в неподходящей среде.
При необходимости передать аргументы скрипту, они указываются через пробел после имени файла: python script.py аргумент1 аргумент2. Для обработки аргументов в коде используется модуль sys: sys.argv возвращает список, где первый элемент – имя скрипта, а остальные – переданные значения.
Проверка установки Python и доступности команды python
Откройте командную строку: в Windows нажмите Win+R, введите cmd и нажмите Enter. В macOS и Linux используйте Терминал.
Введите команду:
python --version
Если появилось сообщение вроде Python 3.10.7, интерпретатор установлен и доступен по команде python
.
Если отображается ошибка ‘python’ не является внутренней или внешней командой, попробуйте вместо этого:
python3 --version
Если работает python3
, используйте его для запуска скриптов. При необходимости можно создать псевдоним:
alias python=python3
(для Bash)
В Windows убедитесь, что каталог с python.exe
добавлен в переменную среды PATH. Для проверки введите:
where python
Если путь не отображается, откройте «Переменные среды» и добавьте путь до папки установки Python, например: C:\Users\ИмяПользователя\AppData\Local\Programs\Python\Python310\.
После изменений перезапустите терминал и снова проверьте команду python --version
.
Запуск скрипта с указанием полного пути к файлу
Чтобы выполнить Python-скрипт, расположенный в конкретной директории, необходимо указать абсолютный путь к файлу при вызове команды в терминале. Пример для Windows:
python C:\Users\ИмяПользователя\Projects\myscript.py
Для систем на базе Unix-подобных ОС, включая Linux и macOS, используется другой синтаксис пути:
python3 /home/username/scripts/myscript.py
Если путь содержит пробелы, его необходимо взять в кавычки:
python "C:\Мои скрипты\script.py"
Убедитесь, что указанный путь существует и файл доступен для чтения. В противном случае команда завершится с ошибкой No such file or directory
.
Рекомендуется использовать автодополнение пути в терминале (клавиша Tab), чтобы избежать опечаток.
Если в системе установлено несколько версий Python, следует явно указать нужную, например:
python3.11 /путь/к/файлу.py
В случае запуска скрипта, в котором используется относительный импорт или операции с файлами, важно учитывать рабочую директорию, так как при указании абсолютного пути она может отличаться от директории скрипта. При необходимости задайте рабочую директорию вручную внутри скрипта с помощью os.chdir()
.
Передача аргументов в Python-скрипт через командную строку
Для передачи данных в Python-скрипт из командной строки используется модуль sys
или argparse
. Первый подходит для простых задач, второй – для структурированной обработки.
Пример с sys.argv
:
import sys
filename = sys.argv[1]
mode = sys.argv[2]
print(f"Файл: {filename}")
print(f"Режим: {mode}")
sys.argv[0]
– имя самого скрипта- Все последующие элементы – переданные аргументы
Запуск:
python script.py data.txt r
Для проверки количества аргументов используйте:
if len(sys.argv) != 3:
print("Ожидается 2 аргумента: имя файла и режим")
sys.exit(1)
Если необходимо описывать и проверять аргументы, используйте argparse
:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("filename", help="Имя файла")
parser.add_argument("mode", choices=["r", "w"], help="Режим работы: r или w")
args = parser.parse_args()
print(f"Файл: {args.filename}")
print(f"Режим: {args.mode}")
Запуск:
python script.py data.txt w
Если указать недопустимое значение для mode
, будет выведено сообщение об ошибке и справка.
- Для флагов используйте
--
, пример:--verbose
- Для необязательных параметров добавляйте аргумент
default
- Для логических флагов используйте
action="store_true"
Проверка флага:
if args.verbose:
print("Подробный режим включён")
Указание версии интерпретатора при наличии нескольких установок
Если на системе установлены несколько версий Python, нужно явно указывать, какую именно использовать. В Linux и macOS для запуска скрипта можно использовать команды python3.8 script.py
или python3.11 script.py
, где число после «python» соответствует нужной версии. Узнать доступные версии можно командой ls /usr/bin | grep python
.
В Windows стоит использовать полный путь до нужного интерпретатора, например: "C:\Python311\python.exe" script.py
. Чтобы упростить вызов, можно создать псевдоним в переменной среды PATH или использовать утилиту py
с ключом -<номер>
: py -3.11 script.py
. Команда py -0
покажет список установленных версий и их приоритет.
Если используется виртуальное окружение, оно автоматически ссылается на выбранную при создании версию. В этом случае скрипт следует запускать через интерпретатор внутри окружения: venv\Scripts\python.exe script.py
в Windows или ./venv/bin/python script.py
в Linux и macOS.
Запуск скрипта из любой директории с помощью переменных среды
Чтобы выполнить Python-скрипт из любого места через командную строку, нужно добавить путь к каталогу со скриптом в переменную среды PATH
. Это позволит вызывать файл без указания полного пути.
Сначала убедитесь, что скрипт имеет расширение .py
и в первой строке указан шебанг: #!python
или #!C:\Python39\python.exe
для Windows. В Linux и macOS – #!/usr/bin/env python3
.
Переименуйте файл, если требуется, и при необходимости установите права на выполнение: chmod +x script.py
.
Добавьте каталог с этим файлом в переменную среды. В Windows откройте «Система» → «Дополнительные параметры системы» → «Переменные среды», найдите PATH
, нажмите «Изменить» и добавьте путь, например: C:\scripts
.
В Linux и macOS добавьте строку export PATH="$PATH:/home/пользователь/scripts"
в файл ~/.bashrc
или ~/.zshrc
и выполните source ~/.bashrc
.
После этого скрипт можно вызывать по имени из любой директории: script.py
или python script.py
, если шебанг не используется.
Для удобства можно удалить расширение .py
, указав в файле ассоциации систем, либо создать ярлык или обёртку с нужным именем.
Для начала, если в скрипте возникают ошибки, Python выведет их в стандартный поток ошибок (stderr). Однако этого недостаточно для полного понимания проблемы, особенно если скрипт работает в фоновом режиме или через автоматизацию. Для этого следует использовать модуль logging, который позволяет записывать отладочную информацию в лог-файл, добавлять временные метки и настраивать уровни логирования.
Пример настройки логирования в скрипте:
import logging
logging.basicConfig(filename='example.log', level=logging.DEBUG)
logging.debug('Это отладочная информация')
logging.info('Обычное сообщение')
logging.warning('Предупреждение')
logging.error('Ошибка')
logging.critical('Критическая ошибка')
В этом примере ошибки разных уровней (debug, info, warning, error, critical) записываются в файл example.log. Это позволяет собирать детальную информацию о выполнении скрипта.
Если скрипт вызывает исключения, их можно обрабатывать с помощью конструкции try-except. Для эффективной обработки и отладки ошибок стоит использовать специфичные исключения, а не обрабатывать все подряд через except Exception.
Пример обработки исключений:
try:
# код, который может вызвать ошибку
1 / 0
except ZeroDivisionError as e:
logging.error(f'Ошибка деления на ноль: {e}')
except Exception as e:
logging.error(f'Неизвестная ошибка: {e}')
Если ошибка деления на ноль происходит в этом примере, то в лог-файл будет записано сообщение об ошибке, что позволит точно указать место возникновения проблемы.
Кроме того, можно использовать параметр -v при запуске скрипта из командной строки для получения более подробной информации об ошибках. Это полезно для быстрого выявления проблем, но в продакшн-среде рекомендуется уменьшать уровень логирования для минимизации нагрузки на систему.
print('Отладочная информация', flush=True)
Такая практика особенно полезна при отслеживании состояния программы в реальном времени. Это позволяет оперативно получать данные без необходимости искать логи после выполнения скрипта.
Отладка и обработка ошибок через командную строку – это важный шаг в обеспечении корректной работы Python-скриптов. Применение грамотного логирования и точной обработки исключений помогает избежать скрытых ошибок и улучшить качество разработки.
Вопрос-ответ:
Как запустить Python-скрипт через командную строку в Windows?
Для того чтобы запустить Python-скрипт в Windows, необходимо выполнить несколько шагов. Во-первых, убедитесь, что Python установлен на вашем компьютере и добавлен в системный путь. После этого откройте командную строку и перейдите в папку, где находится ваш скрипт. Для этого можно использовать команду `cd`, например: `cd C:\путь\к\папке`. Затем введите команду `python имя_скрипта.py` и нажмите Enter. Если Python установлен корректно, скрипт выполнится.
Как запустить Python-скрипт через командную строку на MacOS?
На MacOS процесс запуска Python-скрипта через командную строку аналогичен Windows, но с некоторыми особенностями. Откройте Терминал и перейдите в директорию, где находится ваш скрипт. Используйте команду `cd /путь/к/папке`. После этого для запуска скрипта выполните команду `python3 имя_скрипта.py` или `python имя_скрипта.py`, в зависимости от того, какая версия Python установлена по умолчанию. Если все сделано правильно, скрипт будет выполнен.
Что делать, если Python не распознается в командной строке?
Если команда `python` не распознается в командной строке, возможно, Python не добавлен в системный путь. Чтобы исправить это, откройте установщик Python, выберите опцию «Add Python to PATH» (Добавить Python в системный путь) перед установкой. Если Python уже установлен, но не добавлен в путь, вам нужно вручную добавить папку с Python в переменную среды PATH. Для этого откройте «Свойства системы» → «Переменные среды» и в списке «Системные переменные» найдите PATH, добавьте в него путь к Python (например, `C:\Python39\`). После этого перезапустите командную строку.