Python

Урок за анализиране на командния ред на Python

Урок за анализиране на командния ред на Python
Анализът е процес на анализ на поредица от текстове, за да се разбере какво трябва да направи програмата с дадените команди. Текстът е разбит на малки парчета, известни като символи, за да се изгради структурата на данни, известна на компилатора или интерпретатора. Изпълнението води до намерения резултат в края. Python често се използва като език за лесно анализиране на командните редове. Това ръководство използва този специален модул, доставен с Python, и е известен като argparse. Специалното на argparse е, че е доста лесен за използване, лесен за употреба, достъпен е с Python и помага при създаването на интерфейси с командни редове с лекота.

Следващото ръководство демонстрира как да се използва argparse в Ubuntu с Python3 и по този начин се уверете, че и двете са лесно достъпни, преди да продължите напред. Ако Python3 не е наличен, той може да бъде инсталиран със следните два командни реда:

sudo apt-get update
sudo apt-get инсталирате python3.6

Основен синтаксис

Целта на това ръководство е да очертае основните характеристики на argparse и как да използва някои от неговите опции. Argparse изисква Python и бележник за въвеждане на неговите команди. Ubuntu има свой собствен бележник, известен като „Текстов редактор“, който може да бъде достъпен чрез тирето на Ubuntu. Командите се изпълняват чрез терминал.

  1. Стартирайте текстовия редактор чрез Ubuntu Dash.
  2. Въведете следните два реда като основни кодове. Първият ред импортира модула argparse в кодовия фрагмент, докато вторият създава обект на анализатор на аргументи, който съдържа цялата информация, необходима за синтактичен анализ на команди към типове данни на Python. внос argparse
    парсер = argparse.ArgumentParser ()
  3. Използвайте следната команда, за да преобразувате аргументни низове в обекти. Обикновено обектът се екземпляри и се присвоява на променлива, но не е необходимо. парсер.parse_args ()
  4. Програмата може да се изпълни в терминал на Linux чрез python3 със следната команда. python3 pscript.py

Показване на описанието на приложението

Параметърът за описание на приложението е да посочи за какво е приложението. Когато командата за помощ се използва със скрипта на python, описанието на приложението се появява заедно с наличните флагове, които да се използват в програмата.  Следният ред трябва да се използва за посочване на описанието на приложението.

парсер = argparse.ArgumentParser (description = 'описание на приложението')

Показване на описанието в края (Епилог)

Като описание епилогът може да се покаже в края с параметър epilog. Подобно на описанието, той също трябва да бъде посочен в функцията argumentParser.

Как да използвам аргументи

Аргументите са дефинирани с add_argument () функция. Той указва кои позиционни аргументи / аргументи да се използват със скрипта на python. По подразбиране програмата приема флаг -help като позиционен аргумент, но може да се добави още с помощта на гореспоменатата функция. Има много начини за добавяне на аргументи към приложението.

Единичен позиционен аргумент

Единичният позиционен аргумент гарантира, че програмата приема само един аргумент. В следващия пример той посочва bld като аргумент; следователно само bld може да се използва като позиционен аргумент при изпълнение на програмата. Ако аргументът липсва, програмата ще изведе грешка с предупредително съобщение „твърде малко аргументи“. Особеното на позиционния аргумент е, че не е задължително той да бъде посочен в терминала, когато дава аргументи на програмата.

парсер.add_argument ("bld")

Позиционен аргумент в определен тип

add_argument () взема не само един аргумент, но и множество аргументи, както се вижда в следващия пример. Ако са предоставени множество аргументи, те трябва да бъдат форматирани, както следва. Първият аргумент определя името на позиционния аргумент, вторият е неговият тип, което означава, че типът на стойността приема като аргумент за програмата, последният е за описанието, което се появява само при използване на помощния флаг.

В следващата екранна снимка е показано как програмата отказва да приеме каквато и да е неинтегрална стойност като позиционен аргумент. Тук сега може да се подаде само цяла стойност.

парсер.add_argument ('bld', type = int,
help = "изисква се цяло число")

Незадължителен позиционен аргумент в определен тип

Следващият команден ред е същият като горния, освен че прави позиционния аргумент незадължителен с параметър nargs; следователно потребителят може да го пропусне при изпълнение на програмата. Ако обаче аргументът е бил предоставен, той трябва да е в правилния тип данни, иначе няма да продължи да анализира както обикновено.

парсер.add_argument ('bld', type = int, nargs = '?',
help = 'Това поле е за незадължителна целочислена стойност')

Незадължителен аргумент в определен тип

Разликата между аргумента и позиционния аргумент е позиционен аргумент не трябва да се споменава, докато аргументът трябва да се споменава като флаг заедно със стойността му при изпълнение на програмата. Следващият команден ред съдържа абсолютно същите текстове, с изключение на водещите двойни редове (тирета). Те означават, че аргументът е аргумент / флаг, който трябва да бъде споменат заедно със стойност в дадения тип при изпълнение на програмата. Да направи използването на аргумент задължително задължително = Вярно параметър може да се използва във функцията add_argument () като един от другите аргументи. Както беше казано по-горе, неспазването на формата ще доведе до грешка.

Използване на кратки аргументи

Кратките аргументи действат по същия начин като неговите по-дълги аналози. Единствената разлика е, че помага да се спести място, когато се използва голямо количество командни редове или когато разработчикът иска да поддържа командите подредени и организирани колкото е възможно повече. В следващия пример той показва как програмата реагира на двата аргумента по един и същи начин. Когато използвате кратките аргументи, не забравяйте да използвате само едно тире, тъй като това е стандарт в индустрията.

Условни аргументи

Условните аргументи са много лесни за използване като аргументи в предишните примери. Единствената разлика в този сегмент е да се посочи параметърът за действие. Приема две стойности, store_true, и store_false. Ако параметърът за действие е посочен като store_true, всеки път, когато аргументът на флага се използва в програмата, той се присвоява от истинска булева стойност; следователно може да се използва като условен аргумент. Приложенията на условни аргументи са да направят логически поток на изпълнението въз основа на потребителските входове. И така, потребителят решава по кой път иска да поеме и как протича програмата. Анализираните команди са вътре в обекта на пространството от имена, затова той връща ключовата дума namespace () след изпълнението на програмата.

парсер.add_argument ('- bld', action = 'store_true',
помощ = 'условен аргумент')

Посочване на името на програмата

Над всички примери не се посочва името на програмата. Вместо това той просто посочва името на файла на скрипта заедно със списъка на приетите аргументи. Предимството на използването на името на програмата е, че прави програмата по-лесна за ползване и независима от името на скрипта. Това е доста полезно, ако с изпълнението участват множество файлове със скриптове. Така че няма да обърка потребителя с двусмислени имена.

Следващите два командни реда трябва да се използват, за да се случи. В първия ред той посочва името на програмата с параметър prog, докато този конкретен параметър може да се използва като променлива там, където се използва името на програмата, след това, когато програмата се изпълнява, параметърът prog се заменя със стойността, посочена в argumentParser ( ) функционира заедно с параметъра prog, което означава „Nucuta App“ в този пример. Освен това е важно да използвате командата като % (прог) s в противен случай синтактичният анализ няма да бъде успешен.

парсер = argparse.ArgumentParser (prog = 'Nucuta App')
парсер.add_argument ('- bld', help = 'This% (prog) s it')

Как да проверите условията и да направите потока на изпълнението

Потокът на изпълнение се дефинира с клаузи IF ELSE. Тези клаузи ръководят потока на изпълнение в зависимост от състоянието и неговото естество. В следващия пример въведената цяло число се присвоява на променлива bld, която е в arg обект. След това се проверява спрямо предварително дефинирана стойност, за да се провери състоянието му. В този пример, ако въведената стойност е по-голяма от 10, първият оператор се изпълнява, ако въведената стойност е равна на 10, вторият израз се изпълнява, ако въведената стойност е по-малка от 10, последният оператор се изпълнява. По същия начин, потокът на изпълнение може да се ръководи с лекота. Както е показано в примера, аргументите могат да бъдат достъпни чрез обект, върнат от функцията parse_args () - args.

ЗАКЛЮЧЕНИЕ

С това ръководство сте готови да започнете да анализирате всички командни редове в python.  Късмет

Как да използвам Xdotool за стимулиране на кликвания и натискания на мишката в Linux
Xdotool е безплатен инструмент с команден ред с отворен код за симулиране на щраквания и натискания на мишката. Тази статия ще обхване кратко ръководс...
Топ 5 продукти за ергономична компютърна мишка за Linux
Продължителната употреба на компютър причинява ли болка в китката или пръстите? Страдате ли от схванати стави и постоянно ли ви се налага да си ръкува...
Как да променяте настройките на мишката и тъчпада с помощта на Xinput в Linux
Повечето дистрибуции на Linux се доставят с библиотека “libinput” по подразбиране за обработка на входни събития в системата. Той може да обработва вх...