Разбор аргумента командной строки с использованием sys модуль
Аргументы командной строки сохраняются в списке с использованием sys модуль. sys.argv используется для чтения значений аргументов командной строки. Общее количество аргументов командной строки можно подсчитать, используя len () функция. Использование этого модуля описано в части статьи.
Пример 1: Чтение количества аргументов и значений аргументов
Создайте файл со следующим скриптом Python. Здесь значения аргументов командной строки хранятся в переменной, argv как и другие языки. len () метод подсчитывает общее количество аргументов, переданных во время выполнения скрипта. Значения аргументов печатаются в виде массива в конце скрипта.
# Импортировать модуль sysimport sys
# Вывести общее количество аргументов
print ('Всего аргументов:', len (sys.argv))
print ('Значения аргументов:', str (sys.argv))
Выход:
Приведенный выше сценарий выполняется здесь с использованием четырех аргументов командной строки. Первый аргумент - это имя скрипта, а остальные - числовые значения. Следующий вывод появится после запуска скрипта.
Пример 2: Чтение значений аргументов с помощью цикла
В предыдущем примере значения аргументов печатаются как массив. Создайте файл со следующим сценарием, чтобы распечатать тип переменной аргумента и распечатать каждое значение аргумента в каждой строке с помощью цикла for.
# Импортировать модуль sysimport 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, то он предоставит необходимое сообщение для запуска скрипта.
# Импортировать модуль argparseimport 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.
Посмотреть авторское видео: здесь