Python

Ako analyzovať argumenty na príkazovom riadku v Pythone

Ako analyzovať argumenty na príkazovom riadku v Pythone
Argumenty príkazového riadku sa používajú na prenos údajov v programe v čase vykonania programu. Táto funkcia je k dispozícii vo väčšine populárnych programovacích jazykov. Ale spracovanie argumentov príkazového riadku je pre rôzne jazyky odlišné. Hodnoty argumentov sú v čase spustenia programu uvedené s názvom programu. Jazyk Python túto funkciu podporuje. V tomto článku je uvedené, ako sú argumenty príkazového riadku analyzované v skripte Python.

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

Argumenty príkazového riadku sa ukladajú do zoznamu pomocou sys modul.  sys.argv sa používa na čítanie hodnôt argumentov príkazového riadku. Celkový počet argumentov príkazového riadku možno spočítať pomocou len () funkcia. Používanie tohto modulu je popísané v časti článku.

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

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

# Importovať sys modul
import sys
# Vypíše celkový počet argumentov
print ('Celkove argumenty:', len (sys.argv))
print ('Hodnoty argumentov sú:', str (sys.argv))

Výkon:

Vyššie uvedený skript sa tu vykonáva pomocou štyroch argumentov príkazového riadku. Prvým argumentom je názov skriptu a ďalšími sú číselné hodnoty. 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 argumentov a každú hodnotu argumentu v každom riadku vytlačíte pomocou slučky for.

# Importovať sys modul
import sys
# Vytlačte typ premennej, sys.argv
tlač (typ (sys.argv))
# Vytlačte každý argument príkazového riadku v každom riadku
print ('Argumenty príkazového riadku sú:')
pre i v sys.argv:
tlač (i)

Výkon:

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

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

Getopt modul sa používa na analýzu argumentov príkazového riadku s voľbami. getopt () na čítanie argumentov sa používa metóda tohto modulu. Táto metóda má tri argumenty. Prvé dva argumenty sú povinné a posledný argument je voliteľný. Ďalej sú uvedené použitia týchto argumentov.

args: Obsahuje argument prevzatý z argumentu príkazového riadku.

short_option: Môže to byť akýkoľvek list, ktorý prejde s argumentom.

long_option: Používa sa 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

getopt modul obsahuje viac funkcií ako sys modul. Nasledujúci príklad ukazuje, ako je možné v aplikácii použiť krátke možnosti getopt () metóda. argv premenná uloží argumenty príkazového riadku vynechaním názvu skriptu. Ďalej sú v okne definované dve možnosti getopt () metóda, ktorá sa dá použiť s argumentom za behu programu. Ak dôjde k chybe, zobrazí sa chybové hlásenie.

# Import modulu getopt
import getopt
# Importovať sys modul
import sys
# Premenná argumentu obchodu bez názvu skriptu
argv = sys.argv [1:]
 
skúste:
# Definujte krátke možnosti getopt
options, args = getopt.getopt (argv, 'x: y:')
# vytlač možnosti a argumenty
tlač (možnosti)
tlač (args)
 
okrem getopt.GetoptError:
# Ak je k dispozícii nesprávna možnosť, vytlačte chybové hlásenie
tlač („Je poskytnutá nesprávna možnosť“)
# Ukončite skript
sys.výstup (2)

Výkon:

Spustite skript bez akýchkoľvek argumentov, argumentov so správnymi možnosťami a argumentov so nesprávnou voľbou.

Príklad 4: Čítanie hodnôt argumentov pomocou krátkych a dlhých možností getopt

Tento príklad ukazuje, ako je možné použiť krátke aj dlhé možnosti s hodnotami argumentov. Pridá dve čísla, keď „-a“ alebo '-add' sa použije ako voľba a odčíta dve čísla, keď '-s ' alebo '-sub ' sa za behu použije ako voľba.

# Import modulu getopt
import getopt
# Importovať sys modul
import sys
# Premenná argumentu obchodu bez názvu skriptu
argv = sys.argv [1:]
# Inicializovať výslednú premennú
výsledok = 0
 
skúste:
 
# Definujte krátke a dlhé možnosti getopt
options, args = getopt.getopt (sys.argv [1:], 'a: s', ['add =', 'sub ='])
 
# Prečítajte si jednotlivé možnosti pomocou cyklu for
pre opt, arg v možnostiach:
# Vypočítajte sumu, ak je voľba -a alebo --add
ak sa prihlásite ('-a', '--add'):
výsledok = int (argv [1]) + int (argv [2])
# Vypočítajte suntraction, ak je voľba -s alebo --sub
elif opt in ('-s', '--sub'):
result = int (argv [1]) - int (argv [2])
 
print ('Result =', result)
okrem getopt.GetoptError:
# Ak je k dispozícii nesprávna možnosť, vytlačte chybové hlásenie
tlač („Je poskytnutá nesprávna možnosť“)
# Ukončite skript
sys.výstup (2)

Výkon:

Spustiť skript bez akýchkoľvek argumentov a možností, argumentov s voľbou '-a', argumentov s voľbou '-s' a argumentov s nesprávnou voľbou.

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

Modul Argparse obsahuje veľa možností na čítanie argumentov príkazového riadku. Predvolené hodnoty argumentov, argument s dátovým typom, pozičné argumenty, pomocná správa atď. tento modul môže poskytnúť.

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

Nasledujúci príklad ukazuje použitie argparse modul na čítanie argumentu príkazového riadku. Tu sú definované dve možnosti čítania argumentov príkazového riadku. Toto sú „-n“ alebo „-name“ a „-e“ alebo „-email“. Ak používateľ uvedie nesprávny argument, zobrazí správu o použití s ​​chybou. Ak používateľ poskytne správne možnosti s argumentmi, zobrazí hodnoty argumentov. ak užívateľ spustí skript s voľbou '-help', poskytne mu potrebnú správu na spustenie skriptu.

# Importovať modul argparse
import argparse
# Importovať sys modul
import sys
# Deklarovať funkciu na definovanie argumentov príkazového riadku
def readOptions (args = sys.argv [1:]):
parser = argparse.ArgumentParser (description = "Zoznamy príkazov na analýzu.„)
parser.add_argument ("- n", "--name", help = "Zadajte svoje meno.„)
parser.add_argument ("- e", "--email", help = "Zadajte svoj e-mail.„)
opts = parser.parse_args (args)
návrat sa rozhodne
# Zavolajte funkciu a prečítajte si hodnoty argumentov
options = readOptions (sys.argv [1:])
tlač (možnosti.názov)
tlač (možnosti.e-mail)

Výkon:

Spustite skript s nesprávnou voľbou, správnou voľbou a možnosťou pomoci.

Záver:

Rôzne spôsoby čítania argumentov príkazového riadku sú v tejto príručke vysvetlené pomocou troch modulov pythonu. Dúfam, že tento tutoriál pomôže kódovačovi, ktorý chce čítať údaje pomocou argumentov príkazového riadku v pythone.

Pozrieť video autora: tu

Trackpad a ukazovateľ myši AppyMouse na obrazovke pre tablety so systémom Windows
Používateľom tabletov často chýba ukazovateľ myši, najmä keď notebooky bežne používajú. Dotykové smartphony a tablety majú veľa výhod a jediným obmedz...
Stredné tlačidlo myši nefunguje v systéme Windows 10
The stredné tlačidlo myši pomáha vám prechádzať dlhé webové stránky a obrazovky s množstvom údajov. Ak sa to zastaví, budete nakoniec používať klávesn...
Ako zmeniť ľavé a pravé tlačidlo myši na počítači so systémom Windows 10
Je úplnou normou, že všetky zariadenia počítačových myší sú ergonomicky navrhnuté pre pravákov. Existujú však dostupné myšacie zariadenia, ktoré sú šp...