Python

Výukový program na analýzu príkazového riadku v jazyku Python

Výukový program na analýzu príkazového riadku v jazyku Python
Analýza je proces analyzovania série textov s cieľom zistiť, čo má program robiť s danými príkazmi. Text je rozdelený na malé kúsky, známe ako tokeny, aby sa vytvorila dátová štruktúra známa kompilátoru alebo tlmočníkovi. Výsledkom realizácie je výsledok zámeru na konci. Python sa často používa ako jazyk na ľahkú analýzu príkazových riadkov. Táto príručka používa tento špeciálny modul dodávaný s Pythonom a je známy ako argparse. Špeciálnou vecou argparse je, že je pomerne ľahko použiteľný, užívateľsky prívetivý, dostupný v Pythone a pomáha pri ľahkom vytváraní rozhraní príkazového riadku.

Nasledujúca príručka demonštruje, ako používať argparse v Ubuntu s Python3, a preto sa uistite, že obe sú ľahko dostupné skôr, ako budete pokračovať. Ak program Python3 nie je k dispozícii, je možné ho nainštalovať pomocou nasledujúcich dvoch príkazových riadkov:

sudo apt-get aktualizácia
sudo apt-get nainštalovať python3.6

Základná syntax

Účelom tejto príručky je načrtnúť základné vlastnosti argparse a ako využiť niektoré z týchto možností. Argparse vyžaduje na napísanie svojich príkazov Python a poznámkový blok. Ubuntu má vlastný poznámkový blok známy ako „Textový editor“, ktorý je prístupný pomocou pomlčky Ubuntu. Príkazy sa vykonávajú pomocou terminálu.

  1. Spustite textový editor cez Ubuntu Dash.
  2. Zadajte nasledujúce dva riadky ako základné kódy. Prvý riadok importuje modul argparse do útržku kódu, zatiaľ čo druhý vytvorí objekt analyzátora argumentov, ktorý obsahuje všetky informácie potrebné na analýzu príkazov na dátové typy Pythonu. import argparse
    parser = argparse.ArgumentParser ()
  3. Pomocou nasledujúceho príkazu môžete previesť reťazce argumentov na objekty. Objekt je zvyčajne inštancovaný a je priradený k premennej, ale nie je to potrebné. parser.parse_args ()
  4. Program je možné spustiť v termináli Linux cez python3 pomocou nasledujúceho príkazu. python3 pscript.py

Zobrazenie popisu aplikácie

V parametri popisu aplikácie je potrebné uviesť, na čo aplikácia slúži. Keď sa príkaz príkazu použije so skriptom python, zobrazí sa popis aplikácie spolu s dostupnými príznakmi, ktoré sa majú v programe použiť.  Na uvedenie popisu aplikácie je potrebné použiť nasledujúci riadok.

parser = argparse.ArgumentParser (description = 'popis aplikácie')

Zobrazenie popisu na konci (epilog)

Ako popis môže byť epilóg zobrazený na konci s parametrom epilog. Rovnako ako popis musí byť uvedený aj vo funkcii argumentParser.

Ako používať argumenty

Argumenty sú definované pomocou add_argument () funkcia. Určuje, ktoré pozičné argumenty / argumenty sa majú použiť so skriptom python. V predvolenom nastavení program prijíma príznak -help ako pozičný argument, ale ďalšie je možné pridať pomocou vyššie uvedenej funkcie. Existuje mnoho spôsobov, ako pridať argumenty do aplikácie.

Jediný pozičný argument

Jediný pozičný argument zabezpečí, že program prijme iba jeden argument. V nasledujúcom príklade sa uvádza bld ako argument; teda iba bld môže byť použitý ako pozičný argument pri vykonávaní programu. Ak argument chýba, program vyhodí chybu s varovnou správou „príliš málo argumentov“. Zvláštnosťou pozičného argumentu je, že nemusí byť uvedený v termináli pri zadávaní argumentov programu.

parser.add_argument ("bld")

Pozičný argument v konkrétnom type

add_argument () trvá nielen jeden argument, ale aj viac argumentov, ako je vidieť v nasledujúcom príklade. Ak je poskytnutých viac argumentov, musia byť naformátované takto. Prvý argument definuje názov pozičného argumentu, druhý je jeho typ, čo znamená, že typ hodnoty prijíma ako argument pre program, posledný je pre popis, ktorý sa zobrazí iba pri použití príznaku help.

Na nasledujúcej snímke obrazovky je znázornené, ako program odmieta akceptovať akúkoľvek neintegrovanú hodnotu ako pozičný argument. Teraz tu môžete zadať iba celočíselnú hodnotu.

parser.add_argument ('bld', type = int,
help = "je požadovaná celá hodnota")

Nepovinný pozičný argument v konkrétnom type

Nasledujúci príkazový riadok je rovnaký ako vyššie uvedený, až na to, že robí pozičný argument voliteľným s parametrom nargs; preto ho môže užívateľ pri vykonávaní programu vynechať. Ak bol však argument poskytnutý, musí byť v správnom dátovom type, inak nebude pokračovať v analýze ako obvykle.

parser.add_argument ('bld', type = int, nargs = '?„,
help = 'Toto pole je pre voliteľnú celočíselnú hodnotu')

Voliteľný argument v konkrétnom type

Rozdiel medzi argumentom a pozičným argumentom je pozičný argument nemusí byť uvedený, zatiaľ čo argument musí byť uvedený ako príznak spolu s jeho hodnotou pri vykonávaní programu. Nasledujúci príkazový riadok obsahuje úplne rovnaké texty, okrem úvodných dvojitých riadkov (pomlčiek). Znamená to, že argument je argument / príznak, ktorý je potrebné spomenúť spolu s hodnotou v danom type pri vykonávaní programu. Aby bolo použitie argumentov povinné required = True parameter je možné vo funkcii add_argument () použiť ako jeden z ďalších argumentov. Ako už bolo povedané vyššie, nedodržanie formátu spôsobí chybu.

Použitie krátkych argumentov

Krátke argumenty fungujú rovnako ako jeho dlhšie náprotivky. Jediný rozdiel je v tom, že pomáha šetriť miesto pri použití veľkého množstva príkazových riadkov alebo vtedy, keď vývojár chce udržiavať príkazy upratané a organizované v čo najväčšej miere. V nasledujúcom príklade zobrazuje, ako program reaguje na oba argumenty rovnakým spôsobom. Ak používate krátke argumenty, nezabudnite použiť iba jednu pomlčku, pretože v priemysle je to štandard.

Podmienené argumenty

Podmienené argumenty sa dajú veľmi ľahko použiť ako argumenty v predchádzajúcich príkladoch. Jediným rozdielom v tomto segmente je zadanie parametra akcie. Prijíma dve hodnoty, store_true, a store_false. Ak je parameter akcie zadaný ako store_true, vždy, keď sa v programe použije argument príznak, priradí sa mu skutočná boolovská hodnota; preto ho možno použiť ako podmienený argument. Aplikácia podmienených argumentov spočíva v uskutočnení logického toku vykonávania na základe vstupov používateľa. Užívateľ sa teda rozhodne, ktorou cestou sa chce vydať a ako bude program plynúť. Analyzované príkazy sú vo vnútri objektu menného priestoru, preto po vykonaní programu vráti kľúčové slovo namespace ().

parser.add_argument ('- bld', action = 'store_true',
help = 'podmienený argument')

Zadanie názvu programu

Predovšetkým všetky príklady nešpecifikujú názov programu. Namiesto toho iba uvádza názov súboru skriptu spolu so zoznamom akceptovaných argumentov. Výhodou použitia názvu programu je, že je program prehľadnejší a nezávislejší od názvu skriptu. To je celkom užitočné, ak je súčasťou spustenia viac súborov skriptu. Používateľa teda nebude miasť nejednoznačnými názvami.

Aby sa to stalo, je potrebné použiť nasledujúce dva príkazové riadky. V prvom riadku určuje názov programu parametrom prog, zatiaľ čo tento konkrétny parameter je možné použiť ako premennú tam, kde sa používa názov programu, potom sa pri vykonávaní programu parameter prog nahradí hodnotou uvedenou v argumenteParser ( ) fungujú spolu s parametrom prog, čo v tomto príklade znamená „Aplikácia Nucuta“. Ďalej je dôležité použiť príkaz ako % (prog) s inak nebude analýza úspešná.

parser = argparse.ArgumentParser (prog = 'Nucuta App')
parser.add_argument ('- bld', help = 'This% (prog) s it')

Ako skontrolovať podmienky a vykonať proces vykonávania

Tok vykonania je definovaný pomocou klauzúl IF ELSE. Tieto klauzuly usmerňujú priebeh vykonávania v závislosti od podmienky a jej povahy. V nasledujúcom príklade je zadaná celočíselná hodnota priradená premennej, bld, ktorá je v objekte arg. Potom sa porovná s preddefinovanou hodnotou, aby sa skontroloval jej stav. V tomto príklade, ak je zadaná hodnota väčšia ako 10, vykoná sa prvý príkaz, ak sa zadaná hodnota rovná 10, vykoná sa druhý príkaz, ak je zadaná hodnota menšia ako 10, vykoná sa posledný príkaz. Rovnako tak je možné ľahko riadiť priebeh vykonávania. Ako ukazuje príklad, k argumentom je možné pristupovať prostredníctvom objektu vráteného funkciou parse_args () - args.

ZÁVER

S touto príručkou ste pripravení začať s analýzou všetkých príkazových riadkov v pythone.  Veľa štastia

Hry Top 5 kariet na zachytávanie hier
Top 5 kariet na zachytávanie hier
Všetci sme videli a milovali streamovanie hier na YouTube. PewDiePie, Jakesepticye a Markiplier sú iba niektorí z najlepších hráčov, ktorí zarobili mi...
Hry Ako vyvíjať hru v systéme Linux
Ako vyvíjať hru v systéme Linux
Pred desiatimi rokmi by len málo používateľov Linuxu predpovedalo, že ich obľúbený operačný systém bude jedného dňa populárnou hernou platformou pre k...
Hry Open source porty komerčných herných strojov
Open source porty komerčných herných strojov
Na hranie starých i niektorých z nedávnych herných titulov je možné využiť bezplatné hry s otvoreným zdrojom a multiplatformové herné enginy. V tomto ...