Анализиране на аргумент от командния ред с използване sys модул
Аргументите от командния ред се съхраняват в списък с помощта на sys модул. sys.argv се използва за четене на стойностите на аргументите на командния ред. Общият брой аргументи на командния ред може да бъде преброен с помощта на len () функция. Използването на този модул е описано в частта на статията.
Пример 1: Четене на броя на аргументите и стойностите на аргументите
Създайте файл със следния скрипт на python. Тук стойностите на аргумента от командния ред се съхраняват в променливата, argv като другите езици. len () метод отчита общия брой аргументи, предадени по време на изпълнение на скрипта. Стойностите на аргумента се отпечатват като масив в края на скрипта.
# Импортиране на модул sysимпортиране на sys
# Отпечатайте общия брой аргументи
print ('Общо аргументи:', len (sys.argv))
print ('Стойностите на аргумента са:', str (sys.argv))
Изход:
Горният скрипт се изпълнява тук с помощта на четири аргумента от командния ред. Първият аргумент е името на скрипта, а другите са числови стойности. След стартиране на скрипта ще се появи следният изход.
Пример 2: Четене на стойности на аргументи с помощта на цикъла
В предишния пример стойностите на аргументите се отпечатват като масив. Създайте файл със следния скрипт, за да отпечатате типа на променливата на аргумента и да отпечатате всяка стойност на аргумента във всеки ред, като използвате for цикъл.
# Импортиране на модул sysимпортиране на sys
# Отпечатайте типа на променливата, sys.argv
print (type (sys.argv))
# Отпечатайте всеки аргумент от командния ред във всеки ред
print ('Аргументите на командния ред са:')
за i в sys.argv:
печат (i)
Изход:
Горният скрипт се изпълнява чрез предоставяне на три аргумента с името на скрипта. След стартиране на скрипта ще се появи следният изход.
Разбор на аргумент от командния ред с помощта на модул getopt
Getopt модул се използва за анализиране на аргументи от командния ред с опциите. getopt () методът на този модул се използва за четене на аргументите. Този метод има три аргумента. Първите два аргумента са задължителни, а последният аргумент не е задължителен. Използването на тези аргументи е дадено по-долу.
аргументи: Той съдържа аргумента, взет от аргумента на командния ред.
short_option: Това може да е всяка буква, която преминава заедно с аргумента.
long_option: Използва се за дефиниране на дълги опции с две части. Това са името на опцията и стойността на опцията.
Синтаксис: getopt.getopt (args, short_option, [long_option])
Пример 3: Четене на стойности на аргументи с помощта на кратки опции getopt
getopt модул съдържа повече функции от sys модул. Следващият пример показва как могат да се използват кратки опции getopt () метод. argv променливата ще съхранява аргументите от командния ред, като пропуска името на скрипта. След това в getopt () метод, който може да се използва с аргумента по време на изпълнение. Ако възникне някаква грешка, ще се покаже съобщение за грешка.
# Импортиране на модул getoptимпортиране getopt
# Импортиране на модул sys
импортиране на sys
# Съхранява променлива на аргумент, като пропуска името на скрипта
argv = sys.argv [1:]
опитвам:
# Определете кратки опции за getopt
опции, args = getopt.getopt (argv, 'x: y:')
# отпечатайте опциите и аргумента
печат (опции)
печат (аргументи)
с изключение на getopt.GetoptError:
# Отпечатайте съобщението за грешка, ако е предоставена грешна опция
print ('Предоставена е грешна опция')
# Прекратяване на скрипта
sys.изход (2)
Изход:
Стартирайте скрипта без аргументи, аргументи с правилни опции и аргументи с грешна опция.
Пример 4: Четене на стойности на аргументи с помощта на кратки и дълги опции за получаване
Този пример показва как могат да се използват както кратки, така и дълги опции със стойностите на аргумента. Той ще добави две числа, когато „-а“ или „добавяне“ ще се използва като опция и ще извади две числа, когато '-с' или '-под ' ще се използва като опция по време на изпълнение.
# Импортиране на модул getoptимпортиране getopt
# Импортиране на модул sys
импортиране на sys
# Съхранявайте аргумента на променлива, като пропускате името на скрипта
argv = sys.argv [1:]
# Инициализиране на променлива на резултата
резултат = 0
опитвам:
# Определете кратки и дълги опции на getopt
опции, args = getopt.getopt (sys.argv [1:], 'a: s', ['add =', 'sub ='])
# Прочетете всяка опция, използвайки for цикъл
за опция, аргументирайте се в опциите:
# Изчислете сумата, ако опцията е -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внос argparse
# Импортиране на модул sys
импортиране на 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.
Гледайте видео на автора: тук