argparse

Перейдите к следующему слайду, нажав кнопку Вправо

Аргументы командной строки у скриптов Python

Подготовлено онлайн-курсом

https://dvmn.org

argparse.ArgumentParser

Так можно подключить argparse и оставить подсказку о том, что делает программа

import argparse


parser = argparse.ArgumentParser(description='Описание что делает программа')
parser.parse_args()

Позиционные аргументы

Добавленный аргумент "name" - обязателен

import argparse


parser = argparse.ArgumentParser(
    description='Описание что делает программа'
)
parser.add_argument('name', help='Ваше имя')
args = parser.parse_args()
print(args.name)

Добавленный аргумент "name" - обязателен

import argparse


parser = argparse.ArgumentParser(
    description='Описание что делает программа'
)
parser.add_argument('name', help='Ваше имя')
args = parser.parse_args()
print(args.name)

Позиционные аргументы

Добавленный аргумент "name" - обязателен

import argparse


parser = argparse.ArgumentParser(
    description='Описание что делает программа'
)
parser.add_argument('name', help='Ваше имя')
args = parser.parse_args()
print(args.name)

Позиционные аргументы

Добавленный аргумент "last_name" - опционален (не обязателен)

import argparse


parser = argparse.ArgumentParser(
    description='Описание что делает программа'
)
parser.add_argument('--last_name', help='Ваша фамилия')
args = parser.parse_args()
print(args.last_name)

Опциональные аргументы

Добавленный аргумент "last_name" - опционален (не обязателен)

import argparse


parser = argparse.ArgumentParser(
    description='Описание что делает программа'
)
parser.add_argument('--last_name', help='Ваша фамилия')
args = parser.parse_args()
print(args.last_name)

Опциональные аргументы

Таким образом можно сокращать длинные опциональные названия аргументов

import argparse


parser = argparse.ArgumentParser(
    description='Описание что делает программа'
)
parser.add_argument('-l', '--last_name', help='Ваша фамилия')
args = parser.parse_args()
print(args.last_name)

Сокращённые опциональные аргументы

Ключ -l просто добавился к описанию аргумента --last_name

import argparse


parser = argparse.ArgumentParser(
    description='Описание что делает программа'
)
parser.add_argument('-l', '--last_name', help='Ваша фамилия')
args = parser.parse_args()
print(args.last_name)

Сокращённые опциональные аргументы

Позиционные и опциональные аргументы

Аргументы можно комбинировать

import argparse


parser = argparse.ArgumentParser(
    description='Описание что делает программа'
)
parser.add_argument('name', help='Ваше имя')
parser.add_argument('-l', '--last_name', help='Ваша фамилия')
args = parser.parse_args()
print(args.name)
print(args.last_name)

Аргументы можно комбинировать

import argparse


parser = argparse.ArgumentParser(
    description='Описание что делает программа'
)
parser.add_argument('name', help='Ваше имя')
parser.add_argument('-l', '--last_name', help='Ваша фамилия')
args = parser.parse_args()
print(args.name)
print(args.last_name)

Позиционные и опциональные аргументы

Аргументы могут быть не только строчные

import argparse


parser = argparse.ArgumentParser(
    description='Описание что делает программа'
)
parser.add_argument('age', help='Возраст', type=int)
args = parser.parse_args()
print(args.age)
print(type(args.age))

Числовые аргументы

Аргументы могут быть не только строчные

import argparse


parser = argparse.ArgumentParser(
    description='Описание что делает программа'
)
parser.add_argument('--my_flag', action='store_true',
                    help='Булевое значение True или False')
args = parser.parse_args()
print(args.my_flag)

Булевы аргументы

Документация

Полная документация собрана здесь.
Подробно о том, как использовать argparse на русском.

Создано для онлайн-курса https://dvmn.org