logo

Argumenty príkazového riadku v Pythone

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:

python-command-line-arguments

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:

python-command-line-arguments

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:

python-command-line-arguments


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:

python-command-line-arguments


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:

python-command-line-arguments