Argumenty, ktoré sú uvedené za názvom programu v príkazovom riadku operačného systému, sú známe ako Argumenty príkazového riadku . Python poskytuje rôzne spôsoby riešenia týchto typov argumentov. Tri najbežnejšie sú:
Pomocou sys.argv
Modul sys poskytuje funkcie a premenné používané na manipuláciu s rôznymi časťami runtime prostredia Pythonu. Tento modul poskytuje prístup k niektorým premenným používaným alebo udržiavaným tlmočníkom a k funkciám, ktoré silne interagujú s tlmočníkom.
Jednou z takýchto premenných je sys.argv, čo je jednoduchá štruktúra zoznamu. Jeho hlavným účelom sú:
- Je to zoznam argumentov príkazového riadku.
- len(sys.argv) poskytuje počet argumentov príkazového riadku.
- sys.argv[0] je názov aktuálneho skriptu Python.
Príklad: Predpokladajme, že existuje skript Python na sčítanie dvoch čísel a čísla sa odovzdávajú ako argumenty príkazového riadka.
Python3
# Python program to demonstrate> # command line arguments> import> sys> # total arguments> n>=> len>(sys.argv)> print>(>'Total arguments passed:'>, n)> # Arguments passed> print>(>'
Name of Python script:'>, sys.argv[>0>])> print>(>'
Arguments passed:'>, end>=> ' '>)> for> i>in> range>(>1>, n):> >print>(sys.argv[i], end>=> ' '>)> > # Addition of numbers> Sum> => 0> # Using argparse module> for> i>in> range>(>1>, n):> >Sum> +>=> int>(sys.argv[i])> > print>(>'
Result:'>,>Sum>)> |
>
>
Výkon:

Pomocou modulu getopt
Python modul getopt je podobná funkcii getopt() v jazyku C. Na rozdiel od modulu sys modul getopt rozširuje oddelenie vstupného reťazca o validáciu parametrov. Umožňuje krátke aj dlhé možnosti vrátane priradenia hodnoty. Tento modul však na správne spracovanie vstupných údajov vyžaduje použitie modulu sys. Ak chcete použiť modul getopt, je potrebné odstrániť prvý prvok zo zoznamu argumentov príkazového riadka.
Syntax: getopt.getopt(argumenty, možnosti, [dlhé_možnosti])
Parametre:
argumenty: Zoznam argumentov, ktoré sa majú odovzdať.
možnosti: Reťazec písmen možností, ktoré chce skript rozpoznať. Za možnosťami, ktoré vyžadujú argument, by mala nasledovať dvojbodka (:).
long_options: Zoznam reťazca s názvom dlhých možností. Za možnosťami, ktoré vyžadujú argumenty, by malo nasledovať znamienko rovnosti (=).
Typ návratu: Vráti hodnotu pozostávajúcu z dvoch prvkov: prvý je zoznam párov (možnosť, hodnota). Druhým je zoznam argumentov programu, ktoré zostali po odstránení zoznamu možností.
reťazec na znak java
Príklad:
Python3
# Python program to demonstrate> # command line arguments> import> getopt, sys> # Remove 1st argument from the> # list of command line arguments> argumentList>=> sys.argv[>1>:]> # Options> options>=> 'hmo:'> # Long options> long_options>=> [>'Help'>,>'My_file'>,>'Output='>]> try>:> ># Parsing argument> >arguments, values>=> getopt.getopt(argumentList, options, long_options)> > ># checking each argument> >for> currentArgument, currentValue>in> arguments:> >if> currentArgument>in> (>'-h'>,>'--Help'>):> >print> (>'Displaying Help'>)> > >elif> currentArgument>in> (>'-m'>,>'--My_file'>):> >print> (>'Displaying file_name:'>, sys.argv[>0>])> > >elif> currentArgument>in> (>'-o'>,>'--Output'>):> >print> ((>'Enabling special output mode (% s)'>)>%> (currentValue))> > except> getopt.error as err:> ># output error, and return with an error code> >print> (>str>(err))> |
>
>
Výkon:

Použitie modulu argparse
Použitie modulu argparse je lepšia možnosť ako vyššie uvedené dve možnosti, pretože poskytuje veľa možností, ako sú pozičné argumenty, predvolená hodnota pre argumenty, pomocná správa, špecifikovanie dátového typu argumentu atď.
Poznámka: Ako predvolený voliteľný argument obsahuje -h spolu s jeho dlhou verziou –help.
terminál kali linux
Príklad 1: Základné použitie modulu argparse.
Python3
# Python program to demonstrate> # command line arguments> import> argparse> # Initialize parser> parser>=> argparse.ArgumentParser()> parser.parse_args()> |
>
>
Výkon:

Príklad 2: Pridanie popisu do správy pomocníka.
Python3
# Python program to demonstrate> # command line arguments> import> argparse> msg>=> 'Adding description'> # Initialize parser> parser>=> argparse.ArgumentParser(description>=> msg)> parser.parse_args()> |
>
>
Výkon:

Príklad 3: Definovanie voliteľnej hodnoty
Python3
ako previesť reťazec na char
# Python program to demonstrate> # command line arguments> import> argparse> # Initialize parser> parser>=> argparse.ArgumentParser()> # Adding optional argument> parser.add_argument(>'-o'>,>'--Output'>,>help> => 'Show Output'>)> # Read arguments from command line> args>=> parser.parse_args()> if> args.Output:> >print>(>'Displaying Output as: % s'> %> args.Output)> |
>
>
Výkon:
