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 moodulimpordi 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 moodulimpordi 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 moodulimpordi 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 moodulimpordi 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 moodulimport 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