Питхон

Како рашчланити аргументе на командној линији у Питхону

Како рашчланити аргументе на командној линији у Питхону
Аргументи наредбеног ретка користе се за прослеђивање података у програму у време извршења програма. Ова функција је доступна на већини популарних програмских језика. Али обрада аргумената командне линије је различита за различите језике. Вредности аргумената су дате са именом програма у време покретања програма. Питхон језик подржава ову функцију. Како се рашчлањују аргументи командне линије у Питхон скрипти приказано је у овом чланку.

Рашчлањивање аргумента командне линије помоћу сис модул

Аргументи наредбеног ретка чувају се на листи помоћу сис модул.  сис.аргв користи се за читање вредности аргумената наредбеног ретка. Укупан број аргумената командне линије може се избројати помоћу лен () функцију. Употреба овог модула описана је у делу чланка.

Пример 1: Очитавање броја аргумената и вредности аргумената

Направите датотеку са следећом скриптом питхон.  Овде су вредности аргумената командне линије ускладиштене у променљивој, аргв попут осталих језика. лен () метода броји укупан број аргумената прослеђених у време извршавања скрипте. Вредности аргумента исписују се као низ на крају скрипте.

# Увези сис модул
импорт сис
# Одштампајте укупан број аргумената
принт ('Укупно аргумената:', лен (сис.аргв))
принт ('Вредности аргумента су:', стр (сис.аргв))

Излаз:

Горња скрипта се овде извршава помоћу четири аргумента наредбеног ретка. Први аргумент је име скрипте, а остали су нумеричке вредности. Следећи излаз ће се појавити након покретања скрипте.

Пример 2: Читање вредности аргумената помоћу петље

У претходном примеру вредности аргумената се штампају као низ. Направите датотеку са следећом скриптом за испис врсте променљиве аргумента и испис сваке вредности аргумента у сваком реду помоћу петље фор.

# Увези сис модул
импорт сис
# Одштампајте тип променљиве, сис.аргв
принт (типе (сис.аргв))
# Одштампајте сваки аргумент наредбеног ретка у свакој линији
принт ('Аргументи наредбеног ретка су:')
јер ја у сис.аргв:
испис (и)

Излаз:

Горња скрипта се извршава давањем три аргумента са именом скрипте. Следећи излаз ће се појавити након покретања скрипте.

Рашчлањивање аргумента командне линије помоћу модула гетопт

Гетопт модул се користи за рашчлањивање аргумената командне линије са опцијама. гетопт () метода овог модула користи се за читање аргумената. Ова метода има три аргумента. Прва два аргумента су обавезна, а последњи необвезан. Употреба ових аргумената дата је у наставку.

аргс: Садржи аргумент преузет из аргумента командне линије.

схорт_оптион: То може бити свако писмо које пролази уз аргумент.

лонг_оптион: Користи се за дефинисање дугих опција из два дела. То су име опције и вредност опције.

Синтакса: гетопт.гетопт (аргс, схорт_оптион, [лонг_оптион])

Пример 3: Читање вредности аргумената помоћу кратких опција гетопт

гетопт модул садржи више карактеристика од сис модул. Следећи пример показује како се могу користити кратке опције гетопт () метода. аргв променљива ће сачувати аргументе наредбеног ретка изостављањем имена скрипте. Даље, две опције су дефинисане у гетопт () метода која се може користити са аргументом у време извођења. Ако се догоди било каква грешка, приказаће се порука о грешци.

# Увоз модула гетопт
импорт гетопт
# Увези сис модул
импорт сис
# Спреми променљиву аргумента без имена скрипте
аргв = сис.аргв [1:]
 
покушати:
# Дефинишите кратке опције гетопт
оптионс, аргс = гетопт.гетопт (аргв, 'к: и:')
# исписује опције и аргумент
испис (опције)
принт (аргс)
 
осим гетопта.ГетоптЕррор:
# Одштампајте поруку о грешци ако је дата погрешна опција
принт ('Наведена је погрешна опција')
# Прекини скрипту
сис.излаз (2)

Излаз:

Покрените скрипту без икаквог аргумента, аргументе са тачним опцијама и аргументе са погрешном опцијом.

Пример 4: Читање вредности аргумената помоћу кратких и дугих опција преузимања

Овај пример показује како се и кратке и дуге опције могу користити са вредностима аргумената. Додаће два броја када '-а' или '-додати' користиће се као опција и одузимати два броја када '-с ' или '-суб ' користиће се као опција током извођења.

# Увоз модула гетопт
импорт гетопт
# Увези сис модул
импорт сис
# Спреми променљиву аргумента без имена скрипте
аргв = сис.аргв [1:]
# Иницијализујте променљиву резултата
резултат = 0
 
покушати:
 
# Дефинишите кратке и дуге опције гетопт
оптионс, аргс = гетопт.гетопт (сис.аргв [1:], 'а: с', ['адд =', 'суб ='])
 
# Прочитајте сваку опцију помоћу фор петље
за опт, аргумент у опцијама:
# Израчунајте збир ако је опција -а или --адд
ако се одлучите ('-а', '--адд'):
резултат = инт (аргв [1]) + инт (аргв [2])
# Израчунајте сунтракцију ако је опција -с или --суб
елиф опт ин ('-с', '--суб'):
резултат = инт (аргв [1]) - инт (аргв [2])
 
принт ('Резултат =', резултат)
осим гетопта.ГетоптЕррор:
# Одштампајте поруку о грешци ако је дата погрешна опција
принт ('Наведена је погрешна опција')
# Прекини скрипту
сис.излаз (2)

Излаз:

Покрените скрипту без икаквих аргумената и опција, аргумената са опцијом '-а', аргумената са опцијом '-с' и аргумената са погрешном опцијом.

Рашчлањивање аргумента командне линије помоћу модула аргпарсе

Модул Аргпарсе садржи пуно опција за читање аргумената командне линије. Подразумеване вредности аргумената, аргумент са типом података, положајни аргументи, порука помоћи итд. може обезбедити овај модул.

Пример 5: Читање аргумената из наредбеног ретка помоћу аргпарсе

Следећи пример приказује употребу аргпарсе модул за читање аргумента командне линије. Овде су дефинисане две опције за читање аргумената командне линије. Су '-н' или '-наме' и '-е' или '-емаил'. Ако корисник наведе било који погрешан аргумент, приказаће грешку са поруком о употреби. Ако корисник пружи тачне опције са аргументима, тада ће приказати вредности аргумената. ако корисник покрене скрипту са опцијом -хелп, тада ће пружити потребну поруку за покретање скрипте.

# Увоз модула аргпарсе
увоз аргпарсе
# Увези сис модул
импорт сис
# Декларишите функцију за дефинисање аргумената командне линије
деф реадОптионс (аргс = сис.аргв [1:]):
парсер = аргпарсе.АргументПарсер (десцриптион = "Листа наредби за рашчлањивање.")
парсер.адд_аргумент ("- н", "--наме", хелп = "Унесите своје име.")
парсер.адд_аргумент ("- е", "--емаил", хелп = "Унесите своју е-пошту.")
оптс = парсер.парсе_аргс (аргс)
ретурн оптс
# Позовите функцију да прочита вредности аргумената
оптионс = реадОптионс (сис.аргв [1:])
испис (опције.име)
испис (опције.емаил)

Излаз:

Покрените скрипту са погрешном опцијом, исправном опцијом и опцијом помоћи.

Закључак:

У овом упутству су објашњени различити начини читања аргумената из наредбеног ретка помоћу три питхон модула. Надам се да ће овај водич помоћи кодеру који жели да чита податке користећи аргументе командне линије у питхону.

Погледајте ауторски видео: овде

Додајте покрете миша у Виндовс 10 помоћу ових бесплатних алата
Последњих година рачунари и оперативни системи су се увелико развили. Било је време када су корисници морали да користе команде за навигацију кроз мен...
Контролишите и управљајте кретањем миша између више монитора у оперативном систему Виндовс 10
Двоструки приказ миша омогућава вам контролу и конфигурисање кретања миша између више монитора, успоравајући његово кретање близу границе. Виндовс 10/...
ВинМоусе вам омогућава да прилагодите и побољшате кретање показивача миша на Виндовс рачунару
Ако желите да побољшате подразумеване функције показивача миша, користите бесплатни програм ВинМоусе. Додаје још функција које ће вам помоћи да на нај...