Python

Argumentide sõelumine Pythonis käsureal

Argumentide sõelumine Pythonis käsureal
Käsurea argumente kasutatakse andmete edastamiseks programmis programmi käivitamise ajal. See funktsioon on saadaval enamikus populaarsetes programmeerimiskeeltes. Kuid käsurea argumentide töötlemine on eri keeltes erinev. Argumentide väärtused antakse programmi käivitamise ajal koos programmi nimega. Pythoni keel toetab seda funktsiooni. Kuidas käsurea argumente Pythoni skriptis sõeluda, näitab see artikkel.

Käsundirea argumendi sõelumine sys moodul

Käsurea argumente salvestatakse loendisse kasutades sys moodul.  sys.argv kasutatakse käsurea argumentide väärtuste lugemiseks. Käsurea argumentide koguarvu saab lugeda, kasutades len () funktsioon. Selle mooduli kasutamist on kirjeldatud artikli osas.

Näide 1: argumentide arvu ja argumentide väärtuste lugemine

Looge fail järgmise pythoni skriptiga.  Siin salvestatakse muutuja sisse käsurea argumentide väärtused, argv nagu muudes keeltes. len () meetod loendab skripti käivitamise ajal edastatud argumentide koguarvu. Argumendi väärtused prinditakse massiivina skripti lõppu.

# Impordi sys moodul
impordi süsteem
# Trükkige argumentide koguarv
print ('Argumente kokku:', len (sys.argv))
print ('Argumendi väärtused on:', str (sys.argv))

Väljund:

Ülaltoodud skript käivitatakse siin nelja käsureaargumendi abil. Esimene argument on skripti nimi ja teised on arvväärtused. Pärast skripti käivitamist ilmub järgmine väljund.

Näide 2: Argumendi väärtuste lugemine silmusega

Eelmises näites trükitakse argumendi väärtused massiivina. Looge järgmise skriptiga fail, et printida argumendi muutuja tüüp ja printida iga rea ​​iga argumendi väärtus, kasutades selleks loopi.

# Impordi sys moodul
impordi süsteem
# Trükkige muutuja tüüp, sys.argv
print (tüüp (sys.argv))
# Trükkige iga rea ​​kõik käsureaargumendid
print ('Käsurea argumendid on:')
i jaoks sys.argv:
trükk (i)

Väljund:

Ülaltoodud skript täidetakse, lisades skripti nimele kolm argumenti. Pärast skripti käivitamist ilmub järgmine väljund.

Käsurea argumenti sõelumine mooduli getopt abil

Getopt moodulit kasutatakse käsurea argumentide sõelumiseks suvanditega. getopt () Selle mooduli meetodit kasutatakse argumentide lugemiseks. Sellel meetodil on kolm argumenti. Esimesed kaks argumenti on kohustuslikud ja viimane argument on valikuline. Nende argumentide kasutusalad on toodud allpool.

argumendid: See sisaldab käsureaargumendist võetud argumenti.

short_option: See võib olla ükskõik milline kiri, mis läbib argumenti.

pikk_optsioon: Seda kasutatakse pikkade kaheosaliste valikute määratlemiseks. Need on valiku nimi ja valiku väärtus.

Süntaks: getopt.getopt (args, short_option, [long_option])

Näide 3: Argumendi väärtuste lugemine lühikeste getopt-valikute abil

getopt moodul sisaldab rohkem funktsioone kui sys moodul. Järgmine näide näitab, kuidas saab kasutada lühikesi valikuid getopt () meetod. argv muutuja salvestab käsurea argumendid, jättes skripti nime välja. Järgmisena määratletakse jaotises kaks valikut getopt () meetod, mida saab kasutada argumendiga käitamise ajal. Vea ilmnemisel kuvatakse tõrketeade.

# Impordi getopt moodul
impordi getopt
# Impordi sys moodul
impordi süsteem
# Salvesta argumentmuutuja, jättes skripti nime välja
argv = sys.argv [1:]
 
proovige:
# Määrake getopt lühikesed valikud
valikud, args = getopt.getopt (argv, 'x: y:')
# printige valikud ja argument
print (valikud)
print (args)
 
välja arvatud getopt.GetoptError:
# Prindige tõrketeade, kui on vale valik
print ('Pakutakse valet valikut')
# Lõpeta skript
sys.väljapääs (2)

Väljund:

Käivitage skript ilma argumentideta, õigete valikutega argumentide ja vale valikuga argumentidena.

Näide 4: Argumendi väärtuste lugemine lühikeste ja pikkade getopt-valikute abil

See näide näitab, kuidas argumendi väärtustega saab kasutada nii lühikesi kui ka pikki valikuid. See lisab kaks numbrit, kui "-a" või '-lisama' kasutatakse valikuna ja lahutatakse kaks numbrit, kui '-s või '-alam käitamise ajal kasutatakse lisavarustusena.

# Impordi getopt moodul
impordi getopt
# Impordi sys moodul
impordi süsteem
# Salvesta argumentmuutuja, jättes skripti nime välja
argv = sys.argv [1:]
# Lähtesta tulemuse muutuja
tulemus = 0
 
proovige:
 
# Määratlege getopt lühikesed ja pikad valikud
valikud, args = getopt.getopt (sys.argv [1:], 'a: s', ['add =', 'sub ='])
 
# Lugege iga valikut silmuseks
opt-i jaoks arg argentides:
# Arvutage summa, kui valik on -a või --add
kui lubate ('-a', '--add'):
tulemus = int (argv [1]) + int (argv [2])
# Arvutage päikesevõtu väärtus, kui suvandiks on -s või --sub
elif opt ("-s", "--sub"):
tulemus = int (argv [1]) - int (argv [2])
 
print ('Tulemus =', tulemus)
välja arvatud getopt.GetoptError:
# Prindige tõrketeade, kui on vale valik
print ('Pakutakse valet valikut')
# Lõpeta skript
sys.väljapääs (2)

Väljund:

Käivitage skript ilma argumentide ja suvanditeta, argumentidega '-a', argumentidega '-s' ja vale valikuga argumentidena.

Käsurea argumendi sõelumine argparse mooduli abil

Argparse moodul sisaldab palju võimalusi käsurea argumentide lugemiseks. Argumendi vaikeväärtused, argument andmetüübiga, positsioonilised argumendid, abisõnum jne. selle mooduli abil.

Näide 5: käsurea argumentide lugemine argparse abil

Järgmine näide näitab argparse moodul käsurea argumentide lugemiseks. Siin on käsurea argumentide lugemiseks määratletud kaks võimalust. Need on '-n' või '-name' ja '-e' või '-epost'. Kui kasutaja esitab mõne vale argumendi, kuvatakse selles kasutusteatega viga. Kui kasutaja esitab argumentidega õiged valikud, kuvab ta argumendi väärtused. kui kasutaja käivitab skripti suvandiga '-help', annab see skripti käivitamiseks vajaliku teate.

# Impordi argparse moodul
import argparse
# Impordi sys moodul
impordi süsteem
# Deklareeri funktsioon käsurea argumentide määratlemiseks
def readOptions (args = sys.argv [1:]):
parser = argparse.ArgumentParser (description = "Parsimise käskude loendid.")
parser.add_argument ("- n", "--name", help = "Sisestage oma nimi.")
parser.add_argument ("- e", "--email", help = "Sisestage oma e-posti aadress.")
valib = parser.parse_args (args)
tagasipöördumine valib
# Argumendi väärtuste lugemiseks helistage funktsioonile
options = readOptions (sys.argv [1:])
print (valikud.nimi)
print (valikud.e-post)

Väljund:

Käivitage skript vale, õige ja abivalikuga.

Järeldus:

Käsurea argumentide lugemise erinevaid viise selgitatakse selles õpetuses kolme pythoni mooduli abil. Loodan, et see õpetus aitab kooderit, kes soovib andmeid Pythonis käsurea argumentide abil andmeid lugeda.

Vaata autori videot: siin

Parimad Oculus App Lab mängud
Kui olete Oculuse peakomplekti omanik, peate olema teadlik külglaadimisest. Kõrvalaadimine on protsess, millega installitakse peakomplekti mitte-poesi...
10 parimat mängu, mida Ubuntu kaudu mängida
Windowsi platvorm on olnud üks mängude domineerivaid platvorme, kuna tohutu protsent mänge areneb täna Windowsi loomupäraseks toetamiseks. Kas keegi s...
5 parimat arkaadmängu Linuxile
Tänapäeval on arvutid tõsised mängimiseks kasutatavad masinad. Kui te ei saa uut rekordit, teate, mida ma mõtlen. Selles postituses saate teada mõnda ...