„Python“

Kaip analizuoti „Python“ komandinės eilutės argumentus

Kaip analizuoti „Python“ komandinės eilutės argumentus
Komandinės eilutės argumentai naudojami duomenims perduoti programoje programos vykdymo metu. Ši funkcija pasiekiama daugeliu populiarių programavimo kalbų. Tačiau skirtingų komandų eilutės argumentų apdorojimas skiriasi. Argumentų reikšmės pateikiamos kartu su programos pavadinimu programos vykdymo metu. „Python“ kalba palaiko šią funkciją. Kaip komandinės eilutės argumentai analizuojami „Python“ scenarijuje, parodyta šiame straipsnyje.

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

Kaip pakeisti pelės žymeklio ir žymeklio dydį, spalvą ir schemą sistemoje „Windows 10“
„Windows 10“ pelės žymeklis ir žymeklis yra labai svarbūs operacinės sistemos aspektai. Tai galima pasakyti ir apie kitas operacines sistemas, taigi, ...
Nemokami ir atvirojo kodo žaidimų varikliai, skirti kurti „Linux“ žaidimus
Šiame straipsnyje bus pateiktas nemokamų ir atvirojo kodo žaidimų variklių, kurie gali būti naudojami kuriant 2D ir 3D žaidimus „Linux“, sąrašas. Toki...
„Tomb Raider for Linux“ pamoka
„Tomb Raider“ šešėlis yra dvyliktas „Tomb Raider“ serijos priedas - veiksmo ir nuotykių žaidimų franšizė, sukurta „Eidos Montreal“. Žaidimą kritikai i...