Jäsennys komentoriviargumentti 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öä kuvataan artikkelin osassa.
Esimerkki 1: Argumenttien ja argumenttien lukumäärän lukeminen
Luo tiedosto seuraavalla python-komentosarjalla. Tässä komentoriviargumenttiarvot tallennetaan muuttujaan, argv kuten muutkin kielet. len () method laskee komentosarjan suorittamisen aikana lähetettyjen argumenttien kokonaismäärän. Argumentin arvot tulostetaan matriisina komentosarjan lopussa.
# Tuo järjestelmän moduulituoda sys
# Tulosta argumenttien kokonaismäärä
print ('Kokonaisargumentit:', len (sys.argv))
print ('Argumentin arvot ovat:', str (sys.argv))
Tuotos:
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: Argumenttien lukeminen silmukan avulla
Edellisessä esimerkissä argumenttiarvot tulostetaan matriisina. Luo tiedosto seuraavalla komentosarjalla tulostaaksesi argumenttimuuttujan tyypin ja tulosta jokaisen riviarvon jokainen arvo käyttämällä silmukkaa.
# Tuo järjestelmän moduulituoda sys
# Tulosta muuttujan tyyppi, sys.argv
tulosta (tyyppi (sys.argv))
# Tulosta kukin komentoriviargumentti jokaisella rivillä
tulosta ('Komentoriviargumentit ovat:')
minulle i sys.argv:
tulosta (i)
Tuotos:
Yllä oleva komentosarja suoritetaan antamalla kolme argumenttia komentosarjan nimellä. Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.
Jäsennys komentoriviargumentti getopt-moduulin avulla
Getopt moduulia käytetään jäsentämään komentoriviargumentit vaihtoehdoilla. getopt () 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ötarkoitukset on esitetty alla.
argumentit: Se sisältää komentoriviargumentista otetun argumentin.
short_option: Argumentin mukana voi olla mikä tahansa kirjain.
long_option: Sitä käytetään määrittelemään pitkät vaihtoehdot kahdella osalla. Nämä ovat vaihtoehdon nimi ja vaihtoehdon arvo.
Syntaksi: getopt.getopt (args, short_option, [long_option])
Esimerkki 3: Argumenttien lukeminen lyhyillä getopt-asetuksilla
getopt moduuli sisältää enemmän ominaisuuksia kuin sys moduuli. Seuraava esimerkki osoittaa, kuinka lyhyitä vaihtoehtoja voidaan käyttää getopt () menetelmä. argv muuttuja tallentaa komentoriviargumentit jättämällä komentosarjan nimen pois. Seuraavaksi määritetään kaksi vaihtoehtoa getopt () menetelmä, jota voidaan käyttää argumentin kanssa ajon aikana. Jos tapahtuu virhe, näyttöön tulee virheilmoitus.
# Tuo getopt-moduulituonti getopt
# Tuo järjestelmän moduuli
tuoda sys
# Tallenna argumenttimuuttuja ilman komentosarjan nimeä
argv = sys.argv [1:]
yrittää:
# Määritä getopt lyhyet vaihtoehdot
Vaihtoehdot, args = getopt.getopt (argv, 'x: y:')
# tulosta asetukset ja argumentti
tulosta (lisävarusteet)
tulosta (args)
paitsi getopt.GetoptError:
# Tulosta virhesanoma, jos vaihtoehto on väärä
tulosta ('Väärä vaihtoehto on annettu')
# Lopeta komentosarja
sys.poistua (2)
Tuotos:
Suorita komentosarja ilman argumentteja, argumentteja oikeilla vaihtoehdoilla ja argumentteja väärällä vaihtoehdolla.
Esimerkki 4: Argumenttien lukeminen lyhyillä ja pitkillä getopt-asetuksilla
Tämä esimerkki osoittaa, kuinka sekä lyhyitä että pitkiä vaihtoehtoja voidaan käyttää argumentin arvojen kanssa. Se lisää kaksi numeroa, kun '-a' 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-moduulituonti getopt
# Tuo järjestelmän moduuli
tuoda sys
# Tallenna argumenttimuuttuja ilman komentosarjan nimeä
argv = sys.argv [1:]
# Alusta tulosmuuttuja
tulos = 0
yrittää:
# Määritä getopt lyhyet ja pitkät vaihtoehdot
Vaihtoehdot, args = getopt.getopt (sys.argv [1:], 'a: s', ['add =', 'sub ='])
# Lue jokainen vaihtoehto silmukalle
opt, arg vaihtoehdoissa:
# Laske summa, jos vaihtoehto on -a tai --add
jos valitset ('-a', '--add'):
tulos = int (argv [1]) + int (argv [2])
# Laske auringonotto, jos vaihtoehto on -s tai --sub
elif opt in ('-s', '--sub'):
tulos = int (argv [1]) - int (argv [2])
tulosta ('Tulos =', tulos)
paitsi getopt.GetoptError:
# Tulosta virhesanoma, jos vaihtoehto on väärä
tulosta ('Väärä vaihtoehto on annettu')
# Lopeta komentosarja
sys.poistua (2)
Tuotos:
Suorita komentosarja ilman argumentteja ja vaihtoehtoja, argumentteja '-a' -vaihtoehdolla, argumentteja '-s' -vaihtoehdolla ja argumentteja väärällä vaihtoehdolla.
Jäsennys komentoriviargumentti argparse-moduulilla
Argparse-moduuli sisältää paljon vaihtoehtoja komentoriviargumenttien lukemiseen. Oletusarvoarvot, argumentti tietotyypillä, sijaintiargumentit, ohjeviesti jne. tämän moduulin avulla.
Esimerkki 5: Komentoriviargumenttien lukeminen argumentilla
Seuraava esimerkki osoittaa argparse moduuli komentoriviargumentin lukemiseen. Tässä määritetään kaksi vaihtoehtoa komentoriviargumenttien lukemiseen. Nämä ovat '-n' tai '-name' ja '-e' tai '-email'. Jos käyttäjä antaa väärän argumentin, se näyttää virheen käyttöviestissä. Jos käyttäjä antaa oikeita vaihtoehtoja argumenteilla, se näyttää argumentin arvot. Jos käyttäjä suorittaa komentosarjan '-help' -vaihtoehdolla, se antaa tarvittavan viestin komentosarjan suorittamiseen.
# Tuo argparse-moduulituoda argparse
# Tuo järjestelmän moduuli
tuoda sys
# Ilmoita funktio komentoriviargumenttien määrittämiseksi
def readOptions (args = sys.argv [1:]):
jäsennin = argparse.ArgumentParser (description = "Parsintakomennot.")
jäsennin.add_argument ("- n", "--name", help = "Kirjoita nimesi.")
jäsennin.add_argument ("- e", "--email", help = "Kirjoita sähköpostiosoitteesi.")
valitsee = jäsennin.parse_args (argumentit)
paluu valitsee
# Kutsu funktiota lukemaan argumenttien arvot
Vaihtoehdot = readOptions (sys.argv [1:])
tulosta (vaihtoehdot.nimi)
tulosta (vaihtoehdot.sähköposti)
Tuotos:
Suorita komentosarja väärällä vaihtoehdolla, oikea vaihtoehto ja ohje.
Päätelmä:
Erilaisia tapoja lukea komentoriviargumentteja selitetään tässä opetusohjelmassa 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äällä