🔎 Как парсить аргументы командной строки в Python: простое руководство

Для парсинга аргументов командной строки в Python вы можете использовать модуль argparse.

Вот пример использования:


import argparse

# Создание парсера аргументов
parser = argparse.ArgumentParser()

# Добавление аргументов
parser.add_argument('-n', '--name', help='Имя аргумента')
parser.add_argument('-a', '--age', type=int, help='Возраст аргумента')

# Парсинг аргументов
args = parser.parse_args()

# Обработка аргументов
name = args.name
age = args.age

# Вывод аргументов
print(f'Имя: {name}')
print(f'Возраст: {age}')
    

Вы можете запустить этот скрипт с аргументами, например:

python script.py -n John -a 25

В результате вы получите вывод:

Имя: John
Возраст: 25

Детальный ответ

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

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

Шаг 1: Импорт библиотеки argparse

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

import argparse

Шаг 2: Создание парсера аргументов

Далее вам необходимо создать экземпляр класса ArgumentParser, который будет использоваться для определения и парсинга аргументов командной строки. Следующий код создает объект парсера:

parser = argparse.ArgumentParser()

Шаг 3: Определение аргументов

Теперь вы можете определить аргументы, которые ваш скрипт будет принимать. Наиболее распространенные типы аргументов:

  • Позиционные аргументы: аргументы, которые идут после имени скрипта и не имеют префикса "-" или "--". Например, в команде "python script.py значение" аргумент "значение" является позиционным аргументом.
  • Аргументы со значением: аргументы, которые имеют значение и обычно представлены в формате "--имя_аргумента значение" или "-сокращенное_имя значение". Например, в команде "python script.py --input input.txt" аргумент "--input" имеет значение "input.txt".
  • Флаги: аргументы, которые могут быть только True или False. Они обозначаются без значения или с префиксом "--" или "-". Например, в команде "python script.py --verbose" флаг "--verbose" имеет значение True, а если флаг не указан, то его значение будет False.

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

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

parser.add_argument("name", help="Ваше имя")

В этом примере мы определяем позиционный аргумент "name" и добавляем описание "Ваше имя". В результате скрипт будет ожидать один аргумент с именем.

Пример 2: Аргумент со значением

parser.add_argument("--input", help="Входной файл")

В этом примере мы определяем аргумент со значением "--input", который может использоваться для указания входного файла. Описание "Входной файл" будет отображаться, если пользователь запросит справку по аргументам (--help).

Пример 3: Флаг

parser.add_argument("--verbose", help="Выводить подробную информацию", action="store_true")

Здесь мы определяем флаг "--verbose", который будет выводить подробную информацию, если он указан. Аргумент action="store_true" указывает, что значение флага будет True, если его указали, и False, если не указали.

Шаг 4: Парсинг аргументов

После того, как вы определили все необходимые аргументы, вы можете использовать метод parse_args() объекта парсера для парсинга аргументов командной строки. Пример кода:

args = parser.parse_args()

Метод parse_args() собирает введенные пользователем аргументы и возвращает их в виде объекта, а вы можете получить доступ к значениям аргументов, используя атрибуты этого объекта. Например, если у нас есть аргумент "--input", мы можем получить его значение следующим образом:

input_file = args.input

Пример использования всех шагов

import argparse

parser = argparse.ArgumentParser()
parser.add_argument("name", help="Ваше имя")
parser.add_argument("--age", help="Ваш возраст", type=int)
parser.add_argument("--verbose", help="Выводить подробную информацию", action="store_true")

args = parser.parse_args()

name = args.name
age = args.age
verbose = args.verbose

print(f"Привет, {name}!")

if age:
    print(f"Вам {age} лет.")

if verbose:
    print("Подробная информация")

#python script.py Иван --age 25 --verbose

В этом примере мы определяем позиционный аргумент "name" и два аргумента со значением "--age" и "--verbose". Затем мы парсим аргументы и выводим приветствие, возраст (если указан) и подробную информацию (если указан флаг "--verbose").

Используя модуль argparse, вы можете легко взаимодействовать с аргументами командной строки в своих скриптах на Python. Он также предоставляет множество возможностей для настройки аргументов, таких как проверка типов, ограничения значений и многое другое.

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

Видео по теме

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

python получить аргументы командной строки

40 *args и **kwargs Python. Передача аргументов в функцию

Похожие статьи:

Как добавить нули впереди числа в Python? 🔢💻🐍

🐍 Как питон глотает жертву: удивительные механизмы пищеварения 🤯

🔄 Как менять переменные местами в Python: простой способ

🔎 Как парсить аргументы командной строки в Python: простое руководство

Как создать пустой лист в Python: простой гид с использованием

🔑 Как импортировать эксель в питон: простая инструкция с пошаговыми действиями

🔍 Как найти одинаковые элементы массива в Python: эффективные методы и примеры кода