Argumenterne, der er givet efter navnet på programmet i kommandolinjeskallen i operativsystemet, er kendt som Kommandolinjeargumenter . Python giver forskellige måder at håndtere disse typer argumenter på. De tre mest almindelige er:
Bruger sys.argv
Sys-modulet indeholder funktioner og variabler, der bruges til at manipulere forskellige dele af Python-runtime-miljøet. Dette modul giver adgang til nogle variabler, der bruges eller vedligeholdes af tolken, og til funktioner, der interagerer stærkt med tolken.
En sådan variabel er sys.argv, som er en simpel listestruktur. Dets hovedformål er:
- Det er en liste over kommandolinjeargumenter.
- len(sys.argv) angiver antallet af kommandolinjeargumenter.
- sys.argv[0] er navnet på det aktuelle Python-script.
Eksempel: Lad os antage, at der er et Python-script til at tilføje to tal, og tallene sendes som kommandolinjeargumenter.
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>)> |
>
>
Produktion:

Bruger getopt-modulet
Python getopt modul ligner getopt()-funktionen i C. I modsætning til sys-modulet udvider getopt-modulet adskillelsen af inputstrengen ved parametervalidering. Det giver både korte og lange muligheder inklusive en værditildeling. Dette modul kræver dog brug af sys-modulet for at behandle inputdata korrekt. For at bruge getopt-modulet er det nødvendigt at fjerne det første element fra listen over kommandolinjeargumenter.
Syntaks: getopt.getopt(args, optioner, [long_options])
Parametre:
args: Liste over argumenter, der skal vedtages.
muligheder: Række af valgbogstaver, som scriptet ønsker at genkende. Indstillinger, der kræver et argument, skal efterfølges af et kolon (:).
lange_indstillinger: Liste over strenge med navnet på lange muligheder. Indstillinger, der kræver argumenter, skal efterfølges af et lighedstegn (=).
Returtype: Returnerer værdi, der består af to elementer: det første er en liste over (valgmulighed, værdi) par. Den anden er listen over programargumenter, der er tilbage, efter valglisten blev fjernet.
slf4j vs log4j
Eksempel:
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))> |
>
>
Produktion:

Bruger argparse modul
Brug af argparse-modul er en bedre mulighed end de to ovenstående muligheder, da det giver en masse muligheder såsom positionelle argumenter, standardværdi for argumenter, hjælpemeddelelse, angivelse af datatype for argument osv.
Bemærk: Som et valgfrit standardargument inkluderer det -h sammen med dens lange version -help.
mergesort-algoritme
Eksempel 1: Grundlæggende brug af argparse modul.
Python3
# Python program to demonstrate> # command line arguments> import> argparse> # Initialize parser> parser>=> argparse.ArgumentParser()> parser.parse_args()> |
>
>
Produktion:

Eksempel 2: Tilføjelse af beskrivelse til hjælpemeddelelsen.
Python3
slet sidste commit git
# Python program to demonstrate> # command line arguments> import> argparse> msg>=> 'Adding description'> # Initialize parser> parser>=> argparse.ArgumentParser(description>=> msg)> parser.parse_args()> |
>
>
Produktion:

Eksempel 3: Definition af valgfri værdi
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)> |
>
>
Produktion:
