logo

Komentoriviargumentit Pythonissa

Argumentit, jotka annetaan ohjelman nimen jälkeen käyttöjärjestelmän komentoriviltä, ​​tunnetaan nimellä Komentorivi-argumentit . Python tarjoaa erilaisia ​​tapoja käsitellä tämän tyyppisiä argumentteja. Kolme yleisintä ovat:

Käyttämällä sys.argv

Sys-moduuli tarjoaa toimintoja ja muuttujia, joita käytetään Python-ajonaikaisen ympäristön eri osien käsittelyyn. Tämä moduuli tarjoaa pääsyn joihinkin tulkin käyttämiin tai ylläpitämiin muuttujiin ja toimintoihin, jotka ovat vahvasti vuorovaikutuksessa tulkin kanssa.
Yksi tällainen muuttuja on sys.argv, joka on yksinkertainen luettelorakenne. Sen päätarkoitus on:



  • Se on luettelo komentorivin argumenteista.
  • len(sys.argv) tarjoaa komentoriviargumenttien määrän.
  • sys.argv[0] on nykyisen Python-komentosarjan nimi.

Esimerkki: Oletetaan, että on olemassa Python-skripti kahden luvun lisäämiseen ja numerot välitetään komentoriviargumentteina.

Python 3








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

>

>

Lähtö:

python-komentorivi-argumentit

Käytä getopt-moduulia

Python getopt-moduuli on samanlainen kuin C:n getopt()-funktio. Toisin kuin sys-moduuli, getopt-moduuli laajentaa syötemerkkijonon erottelua parametrien validoinnilla. Se mahdollistaa sekä lyhyet että pitkät vaihtoehdot, mukaan lukien arvonmäärityksen. Tämä moduuli vaatii kuitenkin sys-moduulin käyttöä syötetietojen käsittelemiseksi oikein. Getopt-moduulin käyttäminen edellyttää, että ensimmäinen elementti poistetaan komentoriviargumenttien luettelosta.

Syntaksi: getopt.getopt(argumentit, vaihtoehdot, [pitkä_vaihtoehdot])
Parametrit:
args: Luettelo hyväksyttävistä argumenteista.
vaihtoehdot: Vaihtoehtokirjainten merkkijono, jonka komentosarja haluaa tunnistaa. Argumenttia vaativien vaihtoehtojen jälkeen tulee olla kaksoispiste (:).
long_options: Merkkijonoluettelo pitkien vaihtoehtojen nimellä. Argumentteja vaativien vaihtoehtojen perässä tulee olla yhtäläisyysmerkki (=).
Palautustyyppi: Palauttaa arvon, joka koostuu kahdesta elementistä: ensimmäinen on luettelo (optio, arvo) pareista. Toinen on luettelo ohjelman argumenteista, jotka jäivät optioluettelon poistamisen jälkeen.

in.seuraava java

Esimerkki:

Python 3




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

>

aakkoset numeroiden mukaan

>

Lähtö:

python-komentorivi-argumentit

Argparse-moduulin käyttö

Argparse-moduulin käyttäminen on parempi vaihtoehto kuin yllä olevat kaksi vaihtoehtoa, koska se tarjoaa paljon vaihtoehtoja, kuten sijaintiargumentteja, argumenttien oletusarvoja, ohjeviestiä, argumentin tietotyypin määrittelyä jne.

Huomautus: Valinnaisena oletusargumenttina se sisältää -h:n sekä sen pitkän version -help.

Esimerkki 1: Argparse-moduulin peruskäyttö.

Python 3




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

>

>

Lähtö:

python-komentorivi-argumentit


Esimerkki 2: Lisätään kuvaus ohjeviestiin.

Python 3




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

>

>

Lähtö:

python-komentorivi-argumentit


Esimerkki 3: Valinnaisen arvon määrittäminen

Python 3


linux $home



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

>

>

Lähtö:

python-komentorivi-argumentit