Analizuojamas komandinės eilutės argumentas naudojant sys modulis
Komandinės eilutės argumentai į sąrašą įrašomi naudojant sys modulis. sys.argv naudojamas komandinės eilutės argumentų reikšmėms nuskaityti. Visą komandinės eilutės argumentų skaičių galima suskaičiuoti naudojant len () funkcija. Šio modulio naudojimas aprašytas straipsnio dalyje.
1 pavyzdys: argumentų skaičiaus ir argumentų reikšmių skaitymas
Sukurkite failą naudodami šį python scenarijų. Čia komandinės eilutės argumentų vertės yra saugomos kintamajame, argv kaip ir kitos kalbos. len () metodas skaičiuoja bendrą argumentų, perduotų vykdant scenarijų, skaičių. Argumento reikšmės spausdinamos kaip masyvas scenarijaus pabaigoje.
# Importuoti sys modulįimportuoti sistemas
# Spausdinti bendrą argumentų skaičių
print ('Iš viso argumentų:', len (sys.argv))
print ('Argumento reikšmės yra:', str (sys.argv))
Išvestis:
Aukščiau pateiktas scenarijus čia vykdomas naudojant keturis komandinės eilutės argumentus. Pirmasis argumentas yra scenarijaus pavadinimas, o kiti yra skaitinės vertės. Ši išvestis pasirodys paleidus scenarijų.
2 pavyzdys: argumentų reikšmių skaitymas naudojant kilpą
Ankstesniame pavyzdyje argumentų reikšmės spausdinamos kaip masyvas. Sukurkite failą naudodami šį scenarijų, kad išspausdintumėte argumento kintamojo tipą ir atspausdintumėte kiekvieną argumento vertę kiekvienoje eilutėje naudodami for loop.
# Importuoti sys modulįimportuoti sistemas
# Atspausdinkite kintamojo tipą, sys.argv
spausdinti (tipas (sys.argv))
# Atspausdinkite kiekvieną komandinės eilutės argumentą kiekvienoje eilutėje
spausdinti ('Komandinės eilutės argumentai yra šie:')
nes aš sistemoje.argv:
spausdinti (i)
Išvestis:
Aukščiau pateiktas scenarijus vykdomas pateikiant tris argumentus su scenarijaus pavadinimu. Ši išvestis pasirodys paleidus scenarijų.
Analizuojamas komandinės eilutės argumentas naudojant getopt modulį
Getopt modulis naudojamas analizuoti komandinės eilutės argumentus su parinktimis. getopt () Šio modulio metodas naudojamas argumentams nuskaityti. Šis metodas turi tris argumentus. Pirmieji du argumentai yra privalomi, o paskutinis - neprivalomas. Šių argumentų panaudojimas pateiktas žemiau.
argumentas: Jame yra argumentas, paimtas iš komandinės eilutės argumento.
short_option: Tai gali būti bet koks laiškas, kuris praeina kartu su argumentu.
long_option: Jis naudojamas apibrėžti ilgus variantus su dviem dalimis. Tai yra pasirinkimo pavadinimas ir pasirinkimo vertė.
Sintaksė: getopt.getopt (args, short_option, [long_option])
3 pavyzdys: argumentų verčių skaitymas naudojant trumpas getopt parinktis
getopt modulyje yra daugiau funkcijų nei sys modulis. Šis pavyzdys parodo, kaip galima naudoti trumpąsias parinktis getopt () metodas. argv kintamasis išsaugos komandinės eilutės argumentus, praleisdamas scenarijaus pavadinimą. Toliau programoje yra apibrėžtos dvi parinktys getopt () metodas, kurį galima naudoti su argumentu vykdymo metu. Jei įvyksta kokia nors klaida, pasirodys klaidos pranešimas.
# Importuoti „getopt“ modulįimportuoti getopt
# Importuoti sys modulį
importuoti sistemas
# Store argumento kintamasis, praleidžiant scenarijaus pavadinimą
argv = sys.argv [1:]
bandyti:
# Apibrėžkite „getopt“ trumpąsias parinktis
variantai, args = getopt.getopt (argv, 'x: y:')
# išspausdinkite parinktis ir argumentą
spausdinti (parinktys)
spausdinti (argumentai)
išskyrus getopt.„GetoptError“:
# Atspausdinkite klaidos pranešimą, jei pateikiama netinkama parinktis
spausdinti ('Pateikiama netinkama parinktis')
# Nutraukti scenarijų
sys.išėjimas (2)
Išvestis:
Paleiskite scenarijų be jokių argumentų, argumentų su teisingomis parinktimis ir argumentų su netinkama parinktimi.
4 pavyzdys: argumentų reikšmių skaitymas naudojant trumpąsias ir ilgąsias getopt parinktis
Šis pavyzdys parodo, kaip galima naudoti tiek trumpąsias, tiek ilgąsias parinktis su argumentų reikšmėmis. Kai bus, bus pridėti du skaičiai „-a“ arba '-papildyti' bus naudojamas kaip parinktis ir atimkite du skaičius, kai '-s arba '-sub ' bus naudojama kaip pasirinktis vykdymo metu.
# Importuoti „getopt“ modulįimportuoti getopt
# Importuoti sys modulį
importuoti sistemas
# Store argumento kintamasis, praleidžiant scenarijaus pavadinimą
argv = sys.argv [1:]
# Inicijuoti rezultato kintamąjį
rezultatas = 0
bandyti:
# Apibrėžkite „getopt“ trumpąsias ir ilgąsias parinktis
variantai, args = getopt.getopt (sys.argv [1:], 'a: s', ['add =', 'sub ='])
# Perskaitykite kiekvieną parinktį naudodami ciklą
norėdami pasirinkti, argumentuokite pasirinkimuose:
# Apskaičiuokite sumą, jei parinktis yra -a arba --add
jei pasirinksite („-a“, „--add“):
rezultatas = int (argv [1]) + int (argv [2])
# Apskaičiuokite saulės atėmimą, jei parinktis yra -s arba --sub
„elif opt“ („-s“, „--sub“):
rezultatas = int (argv [1]) - int (argv [2])
spausdinti ('Rezultatas =', rezultatas)
išskyrus getopt.„GetoptError“:
# Atspausdinkite klaidos pranešimą, jei pateikiama netinkama parinktis
spausdinti ('Pateikiama netinkama parinktis')
# Nutraukti scenarijų
sys.išėjimas (2)
Išvestis:
Vykdykite scenarijų be jokių argumentų ir parinkčių, argumentų su „-a“ parinktimi, argumentų su „-s“ parinktimi ir argumentų su neteisinga parinktimi.
Analizuojamas komandinės eilutės argumentas naudojant argparse modulį
„Argparse“ modulyje yra daugybė galimybių nuskaityti komandinės eilutės argumentus. Numatytosios argumento reikšmės, argumentas su duomenų tipu, padėties argumentai, pagalbos pranešimas ir kt. gali pateikti šis modulis.
5 pavyzdys: Komandinės eilutės argumentų skaitymas naudojant argparse
Šis pavyzdys rodo argparse modulis, skirtas komandinės eilutės argumentui skaityti. Čia nusakomos dvi komandinės eilutės argumentų skaitymo parinktys. Šitie yra „-n“ arba „-name“ ir „-e“ arba „-mail“. Jei vartotojas pateikia neteisingą argumentą, jis parodys klaidą su naudojimo pranešimu. Jei vartotojas pateikia teisingas parinktis su argumentais, jis parodys argumento reikšmes. jei vartotojas paleidžia scenarijų naudodamas „-help“ parinktį, jis pateiks būtiną pranešimą scenarijui paleisti.
# Importuoti „argparse“ modulįimportuoti argparse
# Importuoti sys modulį
importuoti sistemas
# Deklaruoti funkciją, kad apibrėžtumėte komandinės eilutės argumentus
def readOptions (args = sys.argv [1:]):
analizatorius = argparse.ArgumentParser (description = "Analizuojamų komandų sąrašai.")
analizatorius.add_argument ("- n", "--name", help = "Įveskite savo vardą.")
analizatorius.add_argument ("- e", "--email", help = "Įveskite savo el. paštą.")
pasirenka = analizatorius.parse_args (argumentai)
grįžti pasirenka
# Norėdami perskaityti argumentų reikšmes, iškvieskite funkciją
parinktys = readOptions (sys.argv [1:])
spausdinti (parinktys.vardas)
spausdinti (parinktys.el. paštas)
Išvestis:
Paleiskite scenarijų naudodami netinkamą parinktį, teisingą parinktį ir pagalbos parinktį.
Išvada:
Įvairūs būdai, kaip skaityti komandinės eilutės argumentus, šioje instrukcijoje yra paaiškinti naudojant tris python modulius. Tikiuosi, ši pamoka padės koduotojui, norinčiam skaityti duomenis, naudojant „Python“ komandinės eilutės argumentus.
Žiūrėkite autoriaus vaizdo įrašą: čia