Ako analyzovať argumenty na príkazovom riadku v Pythone

How Parse Arguments Command Line Python



Argumenty príkazového riadka sa používajú na prenos údajov v programe v čase spustenia programu. Táto funkcia je k dispozícii vo väčšine populárnych programovacích jazykov. Spracovanie argumentov príkazového riadka je však pre rôzne jazyky odlišné. Hodnoty argumentov sa uvádzajú s názvom programu v čase spustenia programu. Jazyk Python podporuje túto funkciu. V tomto článku je ukázané, ako sú argumenty príkazového riadka analyzované v skripte Python.

Analýza argumentu príkazového riadka pomocou sys modul

Argumenty príkazového riadka sú uložené do zoznamu pomocou sys modul. sys.argv sa používa na čítanie hodnôt argumentov príkazového riadka. Celkový počet argumentov príkazového riadka je možné spočítať pomocou len() funkciu. Použitie tohto modulu je popísané v časti článku.







Príklad 1: Čítanie počtu argumentov a hodnôt argumentov

Vytvorte súbor s nasledujúcim python skriptom. Tu sú hodnoty argumentov príkazového riadka uložené v premennej, argv ako ostatné jazyky. len() metóda počíta celkový počet argumentov odovzdaných v čase spustenia skriptu. Hodnoty argumentov sa vytlačia ako pole na konci skriptu.



# Importujte modul sys
import sys

# Vytlačte celkový počet argumentov
vytlačiť(„Celkové argumenty:“, len(sys.argv))
vytlačiť(„Hodnoty argumentov sú:“, p(sys.argv))

Výkon:



Vyššie uvedený skript sa tu vykoná pomocou štyroch argumentov príkazového riadka. Prvým argumentom je názov skriptu a ostatné sú číselnými hodnotami. Po spustení skriptu sa zobrazí nasledujúci výstup.





Príklad 2: Čítanie hodnôt argumentov pomocou slučky



V predchádzajúcom príklade sú hodnoty argumentov vytlačené ako pole. Vytvorte súbor s nasledujúcim skriptom, ktorý vytlačí typ premennej argumentu a vytlačí každú hodnotu argumentu v každom riadku pomocou cyklu for.

# Importujte modul sys
import sys

# Vytlačte typ premennej sys.argv
vytlačiť(typ(sys.argv))

# Vytlačte každý argument príkazového riadka v každom riadku
vytlačiť('Argumenty príkazového riadka sú:')
preiv sys.argv:
vytlačiť(i)

Výkon:

Vyššie uvedený skript sa spustí zadaním troch argumentov s názvom skriptu. Po spustení skriptu sa zobrazí nasledujúci výstup.

Analýza argumentu príkazového riadka pomocou modulu getopt

Zakončené modul sa používa na analýzu argumentov príkazového riadka s možnosťami. navrch () metóda tohto modulu sa používa na čítanie argumentov. Táto metóda má tri argumenty. Prvé dva argumenty sú povinné a posledný argument je voliteľný. Použitie týchto argumentov je uvedené nižšie.

argumenty: Obsahuje argument prevzatý z argumentu príkazového riadka.

short_option: Môže to byť akékoľvek písmeno, ktoré prebehne s argumentom.

long_option: Slúži na definovanie dlhých možností s dvoma časťami. Toto sú názov možnosti a hodnota možnosti.

Syntax: getopt.getopt (args, short_option, [long_option])

Príklad 3: Čítanie hodnôt argumentov pomocou krátkych možností getopt

preliate modul obsahuje viac funkcií ako sys modul. Nasledujúci príklad ukazuje, ako je možné použiť krátke možnosti v programe navrch () metóda. argv variable uloží argumenty príkazového riadka vynechaním názvu skriptu. Ďalej sú v súbore definované dve možnosti navrch () metóda, ktorú je možné použiť s argumentom za behu. Ak sa vyskytne nejaká chyba, zobrazí sa chybové hlásenie.

# Importujte modul getopt
import preliate

# Importujte modul sys
import sys

# Premenná argumentu Store bez názvu skriptu
argv= sys.argv[1:]

skúsiť:
# Definujte krátke možnosti získania
možnosti,args= preliate.preliate(argv, 'x: y:')

# vytlačte možnosti a argumenty
vytlačiť(možnosti)
vytlačiť(args)

okrem preliate.GetoptError:

# Vytlačte chybové hlásenie, ak je k dispozícii nesprávna možnosť
vytlačiť(„K dispozícii je nesprávna možnosť“)

# Ukončite skript
sys.východ(2)

Výkon:

Spustite skript bez argumentov, argumentov so správnymi možnosťami a argumentov s nesprávnymi možnosťami.

Príklad 4: Čítanie hodnôt argumentov pomocou možností krátkeho a dlhého getopt

Tento príklad ukazuje, ako je možné s hodnotami argumentov použiť krátke aj dlhé voľby. Kedy bude sčítať dve čísla '-to' alebo „–Pridať“ sa použije ako možnosť a odčíta dve čísla, ak „ -s alebo „ - sub ‘ sa použije ako voliteľná súčasť pri spustení.

# Importujte modul getopt
import preliate

# Importujte modul sys
import sys

# Premenná argumentu Store bez názvu skriptu
argv= sys.argv[1:]

# Inicializujte premennú výsledku
výsledok=0

skúsiť:

# Definujte získanie krátkych a dlhých možností
možnosti,args= preliate.preliate(sys.argv[1:], 'a: s', ['add =','sub ='])

# Prečítajte si každú možnosť pomocou cyklu for
preopt,nahnevanývmožnosti:
# Vypočítajte súčet, ak je možnosť -a alebo --prid
kebyoptv ('-to', „--pridať“):
výsledok= int(argv[1])+int(argv[2])

# Vypočítajte súčiniteľ funkcie, ak je možnosť -s alebo --sub
elifoptv ('-s', „-sub“):
výsledok= int(argv[1])-int(argv[2])

vytlačiť('Výsledok =',výsledok)

okrem preliate.GetoptError:

# Vytlačte chybové hlásenie, ak je k dispozícii nesprávna možnosť
vytlačiť(„K dispozícii je nesprávna možnosť“)

# Ukončite skript
sys.východ(2)

Výkon:

Spustite skript bez argumentov a možností, argumentov s možnosťou „-a“, argumentov s možnosťou „-s“ a argumentov s nesprávnou možnosťou.

Analýza argumentu príkazového riadka pomocou modulu argparse

Modul Argparse obsahuje veľa možností na čítanie argumentov príkazového riadka. Tento modul môže poskytovať predvolené hodnoty argumentov, argument s dátovým typom, pozičné argumenty, správu pomocníka atď.

Príklad 5: Čítanie argumentov príkazového riadka pomocou argparse

Nasledujúci príklad ukazuje použitie argparse modul na čítanie argumentov príkazového riadka. Tu sú definované dve možnosti na čítanie argumentov príkazového riadka. Toto sú „-N“ alebo „–názov“ a „-E“ alebo „–e-mail“. Ak používateľ uvedie nesprávny argument, zobrazí sa pri správe o použití chyba. Ak používateľ poskytne správne možnosti s argumentmi, potom zobrazí hodnoty argumentov. ak používateľ spustí skript s možnosťou „–pomoc“, poskytne potrebnú správu na spustenie skriptu.

# Importujte modul argparse
importargparse

# Importujte modul sys
import sys

# Deklarujte funkciu na definovanie argumentov príkazového riadka
defreadMožnosti(args=sys.argv[1:]):
analyzátor =argparse.ArgumentParser(popis='Zoznamy príkazov na analýzu.')
analyzátor.add_argument('-n', '--názov', Pomoc=„Napíšte svoje meno.“)
analyzátor.add_argument('-A', '-e-mail', Pomoc=„Zadajte svoj e -mail.“)
opts= analyzátor.parse_args(args)
vrátiť saopts

# Zavolajte funkciu a prečítajte si hodnoty argumentov
možnosti=readMožnosti(sys.argv[1:])
vytlačiť(možnosti.názov)
vytlačiť(možnosti.e -mail)

Výkon:

Spustite skript s nesprávnou možnosťou, správnou možnosťou a možnosťou pomocníka.

Záver:

V tomto návode sú vysvetlené rôzne spôsoby čítania argumentov príkazového riadka pomocou troch modulov pythonu. Dúfam, že tento návod pomôže kodérovi, ktorý chce čítať údaje pomocou argumentov príkazového riadka v pythone.

Pozrite si autorské video: tu