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 modulimport 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 modulimport 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 getoptimport 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 getoptimport 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 argparseimport 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