Аргументы Python: примеры и их использование
В Python параметры командной строки, которые передаются скрипту при его запуске, можно получить через переменную sys.argv. sys.argv является списком, где первый элемент -- имя самого скрипта, а остальные элементы -- аргументы командной строки.
Для работы с аргументами командной строки в Python можно использовать встроенный модуль argparse. argparse предоставляет удобные функции для определения и парсинга аргументов.
Для начала работы с модулем argparse нужно создать объект парсера:
import argparse
parser = argparse.ArgumentParser()
Затем можно добавлять описания аргументов при помощи метода add_argument():
parser.add_argument('-n', '--name', help='Ваше имя')
parser.add_argument('--age', type=int, help='Ваш возраст')
В данном примере мы добавили два аргумента: -n/--name для имени и --age для возраста. Когда скрипт запускается, эти аргументы будут доступны для чтения.
Чтобы распарсить аргументы, используйте метод parse_args():
args = parser.parse_args()
Теперь в переменной args содержатся значения переданных аргументов.
Для использования аргументов в коде программы, вы можете обращаться к атрибутам объекта args:
print(f'Привет, {args.name}!')
print(f'Вам {args.age} лет.')
В данном примере мы просто выводим приветствие с именем и возрастом, переданными через аргументы.
Давайте рассмотрим пример запуска скрипта с аргументами командной строки:
python script.py -n Alice --age 30
В этом случае программа выведет:
Привет, Alice! Вам 30 лет.
Параметр -n можно записывать как -n Alice или --name Alice, это эквивалентные варианты.
Также можно указывать значение аргумента через пробел или без пробела. Например, --age=30 и --age 30 эквивалентны.
Модуль argparse также позволяет задавать дополнительные условия для аргументов, например, указывать типы данных, проверять ограничения и т.д. Это делается с использованием аргументов метода add_argument(). Подробная документация по этому модулю доступна на официальном сайте Python.
В итоге, использование модуля argparse позволяет удобно и гибко работать с аргументами командной строки в Python, облегчая разработку интерактивных и настраиваемых приложений.