Kuinka jäsentää argumentit komentoriviltä Pythonissa

How Parse Arguments Command Line Python



Komentoriviargumentteja käytetään tietojen siirtämiseen ohjelmassa ohjelman suoritushetkellä. Tämä ominaisuus on käytettävissä useimmilla suosituilla ohjelmointikielillä. Mutta komentoriviargumenttien käsittely on eri kielillä erilainen. Argumenttien arvot annetaan ohjelman nimen kanssa ohjelman suorittamisen yhteydessä. Python -kieli tukee tätä ominaisuutta. Tässä artikkelissa esitetään komentoriviargumenttien jäsentäminen Python-komentosarjassa.

Jäsennetään komentoriviargumentti käyttämällä sys moduuli

Komentoriviargumentit tallennetaan luetteloon käyttämällä sys moduuli. sys.argv käytetään komentoriviargumenttien arvojen lukemiseen. Komentoriviargumenttien kokonaismäärä voidaan laskea käyttämällä len () toiminto. Tämän moduulin käyttö on kuvattu artikkelin osassa.







Esimerkki 1: Argumenttien ja argumenttiarvojen lukeminen

Luo tiedosto seuraavalla python -komentosarjalla. Tässä komentoriviargumenttien arvot tallennetaan muuttujaan, argv kuten muutkin kielet. len () menetelmä laskee komentosarjan suoritushetkellä annettujen argumenttien kokonaismäärän. Argumenttien arvot tulostetaan taulukkona komentosarjan loppuun.



# Tuo sys -moduuli
tuonti sys

# Tulosta argumenttien kokonaismäärä
Tulosta('Argumentteja yhteensä:', len(sys.argv))
Tulosta('Argumentin arvot ovat:', s(sys.argv))

Lähtö:



Yllä oleva komentosarja suoritetaan tässä käyttämällä neljää komentoriviargumenttia. Ensimmäinen argumentti on komentosarjan nimi ja muut ovat numeerisia arvoja. Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.





Esimerkki 2: Argumenttiarvojen lukeminen silmukan avulla



Edellisessä esimerkissä argumenttien arvot tulostetaan taulukkona. Luo tiedosto, jossa on seuraava komentosarja, tulostaaksesi argumenttimuuttujan tyypin ja tulosta jokainen argumentin arvo kullekin riville käyttämällä silmukkaa.

# Tuo sys -moduuli
tuonti sys

# Tulosta muuttujan tyyppi sys.argv
Tulosta(tyyppi(sys.argv))

# Tulosta jokainen komentoriviargumentti jokaiselle riville
Tulosta('Komentorivin argumentit ovat:')
vartenisisään sys.argv:
Tulosta(i)

Lähtö:

Yllä oleva komentosarja suoritetaan antamalla kolme argumenttia komentosarjan nimen kanssa. Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.

Komentoriviargumentin jäsentäminen getopt-moduulin avulla

Topattu moduulia käytetään jäsentämään komentoriviargumentteja asetusten kanssa. ylhäällä () Tämän moduulin menetelmää käytetään argumenttien lukemiseen. Tällä menetelmällä on kolme argumenttia. Kaksi ensimmäistä argumenttia ovat pakollisia ja viimeinen argumentti on valinnainen. Näiden argumenttien käyttö on esitetty alla.

args: Se sisältää komentoriviargumentista otetun argumentin.

lyhyt_optio: Se voi olla mikä tahansa kirjain, joka kulkee argumentin mukana.

pitkä_optio: Sitä käytetään pitkien vaihtoehtojen määrittämiseen kahdesta osasta. Nämä ovat vaihtoehdon nimi ja arvo.

Syntaksi: getopt.getopt (args, short_option, [long_option])

Esimerkki 3: Argumenttien lukeminen lyhyillä getopt -vaihtoehdoilla

päällä moduuli sisältää enemmän ominaisuuksia kuin sys moduuli. Seuraava esimerkki osoittaa, kuinka lyhyitä vaihtoehtoja voidaan käyttää ylhäällä () menetelmä. argv muuttuja tallentaa komentorivin argumentit jättämällä komentosarjan nimen pois. Seuraavaksi kohdassa määritellään kaksi vaihtoehtoa ylhäällä () menetelmä, jota voidaan käyttää argumentin kanssa ajon aikana. Jos tapahtuu virhe, näyttöön tulee virheilmoitus.

# Tuo Getopt -moduuli
tuonti päällä

# Tuo sys -moduuli
tuonti sys

# Tallenna argumenttimuuttuja jättämättä komentosarjan nimi pois
argv= sys.argv[1:]

yrittää:
# Määritä hanki lyhyet vaihtoehdot
vaihtoehtoja,args= päällä.päällä(argv, 'x: y:')

# tulosta vaihtoehdot ja argumentit
Tulosta(vaihtoehtoja)
Tulosta(args)

paitsi päällä.GetoptError:

# Tulosta virheilmoitus, jos käytössä on väärä vaihtoehto
Tulosta('Väärä vaihtoehto tarjotaan')

# Lopeta komentosarja
sys.poistua(2)

Lähtö:

Suorita komentosarja ilman argumentteja, argumentteja oikeilla vaihtoehdoilla ja argumentteja, joissa on väärä vaihtoehto.

Esimerkki 4: Argumenttien lukeminen käyttämällä lyhyitä ja pitkiä getopt -vaihtoehtoja

Tämä esimerkki osoittaa, kuinka sekä lyhyitä että pitkiä vaihtoehtoja voidaan käyttää argumenttiarvojen kanssa. Se lisää kaksi numeroa, kun '' kohteeseen '' tai '-lisätä' käytetään vaihtoehtona ja vähennetään kaksi numeroa, kun -s ' tai ' -sub' käytetään vaihtoehtona ajon aikana.

# Tuo Getopt -moduuli
tuonti päällä

# Tuo sys -moduuli
tuonti sys

# Tallenna argumenttimuuttuja jättämättä komentosarjan nimi pois
argv= sys.argv[1:]

# Alusta tulosmuuttuja
tulos=0

yrittää:

# Määritä lyhyet ja pitkät vaihtoehdot
vaihtoehtoja,args= päällä.päällä(sys.argv[1:], 'kuten', ['lisää =','sub ='])

# Lue jokainen vaihtoehto silmukalle
vartenvalita,vihainensisäänvaihtoehdot:
# Laske summa, jos vaihtoehto on -a tai --add
josvalitasisään ('' kohteeseen '', '--lisätä'):
tulos= int(argv[1])+int(argv[2])

# Laske suntraction, jos vaihtoehto on -s tai --sub
elifvalitasisään ('-s', '--sub'):
tulos= int(argv[1])-int(argv[2])

Tulosta('Tulos =',tulos)

paitsi päällä.GetoptError:

# Tulosta virheilmoitus, jos käytössä on väärä vaihtoehto
Tulosta('Väärä vaihtoehto tarjotaan')

# Lopeta komentosarja
sys.poistua(2)

Lähtö:

Suorita komentosarja ilman argumentteja ja vaihtoehtoja, argumentteja, joissa on vaihtoehto -a, argumentteja, joissa on -s-vaihtoehto, ja argumentteja, joissa on väärä vaihtoehto.

Komentoriviargumentin jäsentäminen argparse-moduulin avulla

Argparse-moduuli sisältää paljon vaihtoehtoja komentoriviargumenttien lukemiseen. Tämä moduuli voi tarjota argumenttien oletusarvot, tietotyypin argumentin, sijaintiargumentit, ohjesanoman jne.

Esimerkki 5: Komentoriviargumenttien lukeminen argparsea käyttäen

Seuraava esimerkki näyttää argparse moduuli komentoriviargumentin lukemiseen. Tässä on määritetty kaksi vaihtoehtoa komentoriviargumenttien lukemiseen. Nämä ovat '-N' tai '-nimi' ja '-E' tai '-sähköposti'. Jos käyttäjä antaa väärän argumentin, se näyttää virheilmoituksen käyttöviestissä. Jos käyttäjä antaa argumentteihin oikeat vaihtoehdot, se näyttää argumenttien arvot. Jos käyttäjä suorittaa komentosarjan 'help' -vaihtoehdolla, se antaa tarvittavan viestin komentosarjan suorittamiseksi.

# Tuo argparse -moduuli
tuontiargparse

# Tuo sys -moduuli
tuonti sys

# Ilmoita funktio komentoriviargumenttien määrittämiseksi
defreadOptions(args=sys.argv[1:]):
jäsentäjä =argparse.ArgumenttiParser(kuvaus='Jäsennyskomentojen luettelot.')
jäsentäjä.add_argument('' n '', '--nimi', auta='Kirjoita nimesi.')
jäsentäjä.add_argument('-Ja', '-sähköposti', auta='Kirjoita sähköpostiosoitteesi.')
valitsee= jäsentäjä.parse_args(args)
palatavalitsee

# Kutsu funktio lukemaan argumenttiarvot
vaihtoehtoja=readOptions(sys.argv[1:])
Tulosta(vaihtoehtoja.nimi)
Tulosta(vaihtoehtoja.sähköposti)

Lähtö:

Suorita komentosarja väärillä vaihtoehdoilla, oikeilla vaihtoehdoilla ja ohjeilla.

Johtopäätös:

Tässä opetusohjelmassa selitetään erilaisia ​​tapoja lukea komentoriviargumenteja käyttämällä kolmea python-moduulia. Toivon, että tämä opetusohjelma auttaa kooderia, joka haluaa lukea tietoja käyttämällä komentoriviargumentteja pythonissa.

Katso tekijän video: tässä