Python

Argumenttien jäsentäminen komentorivillä Pythonissa

Argumenttien jäsentäminen komentorivillä Pythonissa
Komentoriviargumentteja käytetään tietojen siirtämiseen ohjelmassa ohjelman suorituksen aikana. Tämä ominaisuus on käytettävissä useimmilla suosituilla ohjelmointikielillä. Mutta komentoriviargumenttien käsittely on erilaista eri kielillä. Argumenttien arvot annetaan ohjelman nimen kanssa ohjelman ajaksi. Python-kieli tukee tätä ominaisuutta. Kuinka komentoriviargumentit jäsennetään Python-komentosarjassa, näkyy tässä artikkelissa.

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 moduuli
tuoda 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 moduuli
tuoda 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-moduuli
tuonti 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-moduuli
tuonti 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-moduuli
tuoda 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ä

Microsoft Sculpt Touch Wireless Mouse Review
I recently read about the Microsoft Sculpt Touch wireless mouse and decided to buy it. After using it for a while, I decided to share my experience wi...
AppyMouse On-screen Trackpad and Mouse Pointer for Windows Tablets
Tablet users often miss the mouse pointer, especially when they are habitual to using the laptops. The touchscreen Smartphones and tablets come with m...
Middle mouse button not working in Windows 10
The middle mouse button helps you scroll through long webpages and screens with a lot of data. If that stops, well you will end up using the keyboard ...