Argumenty, které jsou uvedeny za názvem programu v příkazovém řádku operačního systému, jsou známé jako Argumenty příkazového řádku . Python poskytuje různé způsoby zacházení s těmito typy argumentů. Tři nejběžnější jsou:
Pomocí sys.argv
Modul sys poskytuje funkce a proměnné používané k manipulaci s různými částmi běhového prostředí Pythonu. Tento modul poskytuje přístup k některým proměnným používaným nebo spravovaným tlumočníkem ak funkcím, které silně interagují s tlumočníkem.
Jednou z takových proměnných je sys.argv, což je jednoduchá struktura seznamu. Jeho hlavním účelem jsou:
- Je to seznam argumentů příkazového řádku.
- len(sys.argv) poskytuje počet argumentů příkazového řádku.
- sys.argv[0] je název aktuálního skriptu Python.
Příklad: Předpokládejme, že existuje skript Python pro sčítání dvou čísel a čísla jsou předávána jako argumenty příkazového řádku.
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ýstup:

Pomocí modulu getopt
Krajta modul getopt je podobná funkci getopt() v jazyce C. Na rozdíl od modulu sys getopt module rozšiřuje oddělení vstupního řetězce o validaci parametrů. Umožňuje krátké i dlouhé možnosti včetně přiřazení hodnoty. Tento modul však ke správnému zpracování vstupních dat vyžaduje použití modulu sys. Chcete-li použít modul getopt, je nutné odstranit první prvek ze seznamu argumentů příkazového řádku.
Syntax: getopt.getopt(args, options, [long_options])
Parametry:
argumenty: Seznam argumentů, které mají být předány.
možnosti: Řetězec písmen možností, které chce skript rozpoznat. Za možnostmi, které vyžadují argument, by měla následovat dvojtečka (:).
long_options: Seznam řetězců s názvem dlouhých možností. Za možnostmi, které vyžadují argumenty, by mělo následovat rovnítko (=).
Typ vrácení: Vrátí hodnotu sestávající ze dvou prvků: první je seznam párů (volba, hodnota). Druhým je seznam argumentů programu zbylých po odstranění seznamu možností.
nerovná se mysql
Pří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ýstup:

Použití modulu argparse
Použití modulu argparse je lepší možností než výše uvedené dvě možnosti, protože poskytuje spoustu možností, jako jsou poziční argumenty, výchozí hodnota pro argumenty, zpráva nápovědy, určení datového typu argumentu atd.
Poznámka: Jako výchozí volitelný argument obsahuje -h spolu s jeho dlouhou verzí –help.
Příklad 1: Základní použití modulu argparse.
Python3
graf alokace zdrojů
# Python program to demonstrate> # command line arguments> import> argparse> # Initialize parser> parser>=> argparse.ArgumentParser()> parser.parse_args()> |
>
>
Výstup:

Příklad 2: Přidání popisu do zprávy nápovědy.
Python3
# Python program to demonstrate> # command line arguments> import> argparse> msg>=> 'Adding description'> # Initialize parser> parser>=> argparse.ArgumentParser(description>=> msg)> parser.parse_args()> |
>
>
Výstup:
znak v řetězci

Příklad 3: Definování nepovinné hodnoty
Python3
# 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ýstup:
