logo

Komandrindas argumenti Python

Argumenti, kas norādīti aiz programmas nosaukuma operētājsistēmas komandrindas apvalkā, ir zināmi kā Komandrindas argumenti . Python nodrošina dažādus veidus, kā rīkoties ar šāda veida argumentiem. Trīs visizplatītākie ir:

Izmantojot sys.argv

Sys modulis nodrošina funkcijas un mainīgos, ko izmanto, lai manipulētu ar dažādām Python izpildlaika vides daļām. Šis modulis nodrošina piekļuvi dažiem mainīgajiem, ko izmanto vai uztur tulks, un funkcijām, kas cieši mijiedarbojas ar tulku.
Viens no šādiem mainīgajiem ir sys.argv, kas ir vienkārša saraksta struktūra. Tās galvenais mērķis ir:



  • Tas ir komandrindas argumentu saraksts.
  • len(sys.argv) nodrošina komandrindas argumentu skaitu.
  • sys.argv[0] ir pašreizējā Python skripta nosaukums.

Piemērs: Pieņemsim, ka ir Python skripts divu skaitļu pievienošanai, un skaitļi tiek nodoti kā komandrindas argumenti.

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>)>

>

>

Izvade:

python-komandrindas-argumenti

Izmantojot getopt moduli

Python getopt modulis ir līdzīgs getopt() funkcijai C. Atšķirībā no sys moduļa getopt modulis paplašina ievades virknes atdalīšanu ar parametru validāciju. Tas pieļauj gan īsas, gan garas opcijas, tostarp vērtību piešķiršanu. Tomēr šim modulim ir nepieciešams izmantot sys moduli, lai pareizi apstrādātu ievades datus. Lai izmantotu moduli getopt, ir jānoņem pirmais elements no komandrindas argumentu saraksta.

Sintakse: getopt.getopt(args, opcijas, [long_options])
Parametri:
args: Nododamo argumentu saraksts.
opcijas: Opciju burtu virkne, ko skripts vēlas atpazīt. Pēc opcijām, kurām nepieciešams arguments, ir jāliek kols (:).
long_options: Virknes saraksts ar garo opciju nosaukumu. Pēc opcijām, kurām nepieciešami argumenti, ir jāliek vienādības zīme (=).
Atgriešanas veids: Atgriež vērtību, kas sastāv no diviem elementiem: pirmais ir (opciju, vērtību) pāru saraksts. Otrais ir programmas argumentu saraksts, kas palicis pēc opciju saraksta noņemšanas.

Android izstrādātāja režīma izslēgšana

Piemērs:

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))>

>

>

Izvade:

python-komandrindas-argumenti

Izmantojot argparse moduli

Argparse moduļa izmantošana ir labāka opcija nekā divas iepriekš minētās opcijas, jo tā nodrošina daudzas iespējas, piemēram, pozicionālos argumentus, argumentu noklusējuma vērtību, palīdzības ziņojumu, argumenta datu veida norādīšanu utt.

Piezīme: Kā noklusējuma izvēles arguments tajā ir iekļauts -h, kā arī tā garā versija -help.

1. piemērs: Argparse moduļa pamata izmantošana.

Python3


int dubultot



# Python program to demonstrate> # command line arguments> import> argparse> # Initialize parser> parser>=> argparse.ArgumentParser()> parser.parse_args()>

>

>

Izvade:

python-komandrindas-argumenti


2. piemērs: Apraksta pievienošana palīdzības ziņojumam.

Python3


noņemot pēdējo commit git



# Python program to demonstrate> # command line arguments> import> argparse> msg>=> 'Adding description'> # Initialize parser> parser>=> argparse.ArgumentParser(description>=> msg)> parser.parse_args()>

>

>

Izvade:

python-komandrindas-argumenti


3. piemērs: Izvēles vērtības noteikšana

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)>

>

>

Izvade:

python-komandrindas-argumenti