Python

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

Как анализировать аргументы в командной строке в Python
Аргументы командной строки используются для передачи данных в программу во время выполнения программы. Эта функция доступна на большинстве популярных языков программирования. Но обработка аргументов командной строки отличается для разных языков. Значения аргументов даются с именем программы во время запуска программы. Язык Python поддерживает эту функцию. В этой статье показано, как аргументы командной строки анализируются в скрипте Python.

Разбор аргумента командной строки с использованием sys модуль

Аргументы командной строки сохраняются в списке с использованием sys модуль.  sys.argv используется для чтения значений аргументов командной строки. Общее количество аргументов командной строки можно подсчитать, используя len () функция. Использование этого модуля описано в части статьи.

Пример 1: Чтение количества аргументов и значений аргументов

Создайте файл со следующим скриптом Python.  Здесь значения аргументов командной строки хранятся в переменной, argv как и другие языки. len () метод подсчитывает общее количество аргументов, переданных во время выполнения скрипта. Значения аргументов печатаются в виде массива в конце скрипта.

# Импортировать модуль sys
import sys
# Вывести общее количество аргументов
print ('Всего аргументов:', len (sys.argv))
print ('Значения аргументов:', str (sys.argv))

Выход:

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

Пример 2: Чтение значений аргументов с помощью цикла

В предыдущем примере значения аргументов печатаются как массив. Создайте файл со следующим сценарием, чтобы распечатать тип переменной аргумента и распечатать каждое значение аргумента в каждой строке с помощью цикла for.

# Импортировать модуль sys
import sys
# Вывести тип переменной sys.argv
print (type (sys.argv))
# Распечатать каждый аргумент командной строки в каждой строке
print ('Аргументы командной строки:')
для меня в sys.argv:
печать (я)

Выход:

Вышеупомянутый сценарий выполняется путем предоставления трех аргументов с именем сценария. Следующий вывод появится после запуска скрипта.

Разбор аргумента командной строки с использованием модуля getopt

Getopt модуль используется для анализа аргументов командной строки с параметрами. getopt () метод этого модуля используется для чтения аргументов. Этот метод имеет три аргумента. Первые два аргумента являются обязательными, а последний аргумент - необязательным. Использование этих аргументов приводится ниже.

аргументы: Он содержит аргумент, взятый из аргумента командной строки.

short_option: Это может быть любая буква, которая передается с аргументом.

long_option: Он используется для определения длинных опций с двумя частями. Это имя параметра и значение параметра.

Синтаксис: Getopt.getopt (аргументы, short_option, [long_option])

Пример 3: Чтение значений аргументов с использованием коротких опций getopt

Getopt модуль содержит больше функций, чем sys модуль. В следующем примере показано, как можно использовать короткие параметры в getopt () метод. argv переменная будет хранить аргументы командной строки, опуская имя сценария. Далее в getopt () метод, который можно использовать с аргументом во время выполнения. Если возникает какая-либо ошибка, отображается сообщение об ошибке.

# Импортировать модуль getopt
импорт getopt
# Импортировать модуль sys
import sys
# Хранить переменную аргумента без имени скрипта
argv = sys.argv [1:]
 
пытаться:
# Определить короткие параметры getopt
параметры, args = getopt.getopt (argv, 'x: y:')
# выводим параметры и аргумент
печать (параметры)
печать (аргументы)
 
кроме getopt.GetoptError:
# Распечатать сообщение об ошибке, если указана неправильная опция
print ('Указана неправильная опция')
# Завершить скрипт
sys.выход (2)

Выход:

Запустить сценарий без аргументов, аргументы с правильными параметрами и аргументы с неправильными параметрами.

Пример 4: Чтение значений аргументов с использованием коротких и длинных опций getopt

В этом примере показано, как можно использовать как короткие, так и длинные параметры со значениями аргументов. Он добавит два числа, когда '-a' или же '-Добавлять' будет использоваться как опция и вычесть два числа, когда '-s ' или же '-суб ' будет использоваться как опция во время выполнения.

# Импортировать модуль getopt
импорт getopt
# Импортировать модуль sys
import sys
# Хранить переменную аргумента без имени скрипта
argv = sys.argv [1:]
# Инициализировать переменную результата
результат = 0
 
пытаться:
 
# Определить короткие и длинные варианты getopt
параметры, args = getopt.getopt (sys.argv [1:], 'a: s', ['add =', 'sub ='])
 
# Прочтите каждую опцию, используя цикл for
для opt, arg в опциях:
# Вычислить сумму, если опция -a или --add
если вы выберете ('-a', '--add'):
результат = int (argv [1]) + int (argv [2])
# Рассчитать солнечную тягу, если опция -s или --sub
elif opt in ('-s', '--sub'):
результат = int (argv [1]) - int (argv [2])
 
print ('Результат =', результат)
кроме getopt.GetoptError:
# Распечатать сообщение об ошибке, если указана неправильная опция
print ('Указана неправильная опция')
# Завершить скрипт
sys.выход (2)

Выход:

Запустить скрипт без каких-либо аргументов и опций, аргументы с опцией '-a', аргументы с опцией '-s' и аргументы с неправильной опцией.

Разбор аргумента командной строки с использованием модуля argparse

Модуль Argparse содержит множество параметров для чтения аргументов командной строки. Значения аргументов по умолчанию, аргумент с типом данных, позиционные аргументы, справочное сообщение и т. Д. может быть предоставлен этим модулем.

Пример 5: Чтение аргументов командной строки с помощью argparse

В следующем примере показано использование argparse модуль для чтения аргумента командной строки. Здесь определены две опции для чтения аргументов командной строки. Эти -n или -name а также '-e' или '-email'. Если пользователь предоставит неверный аргумент, он покажет ошибку с сообщением об использовании. Если пользователь предоставляет правильные параметры с аргументами, он отобразит значения аргументов. если пользователь запускает скрипт с опцией -help, то он предоставит необходимое сообщение для запуска скрипта.

# Импортировать модуль argparse
import argparse
# Импортировать модуль sys
import sys
# Объявить функцию для определения аргументов командной строки
def readOptions (args = sys.argv [1:]):
парсер = argparse.ArgumentParser (description = "Списки команд синтаксического анализа.")
парсер.add_argument ("- n", "--name", help = "Введите свое имя.")
парсер.add_argument ("- e", "--email", help = "Введите свой адрес электронной почты.")
opts = парсер.parse_args (аргументы)
варианты возврата
# Вызов функции для чтения значений аргументов
options = readOptions (sys.argv [1:])
печать (параметры.название)
печать (параметры.электронное письмо)

Выход:

Запустите сценарий с неправильной опцией, правильной опцией и опцией помощи.

Заключение:

В этом руководстве объясняются различные способы чтения аргументов командной строки с использованием трех модулей Python. Надеюсь, это руководство поможет кодировщику, который хочет читать данные с помощью аргументов командной строки в python.

Посмотреть авторское видео: здесь

Экранный трекпад и указатель мыши AppyMouse для планшетов с Windows
Пользователи планшетов часто пропускают указатель мыши, особенно когда они привыкли пользоваться ноутбуками. Смартфоны и планшеты с сенсорным экраном ...
Средняя кнопка мыши не работает в Windows 10
В средняя кнопка мыши помогает пролистывать длинные веб-страницы и экраны с большим объемом данных. Если это прекратится, вы в конечном итоге будете и...
Как изменить левую и правую кнопки мыши на ПК с Windows 10
Совершенно нормально, что все устройства компьютерной мыши эргономичны для правшей. Но есть мышиные устройства, специально разработанные для левшей ил...