Analyse af kommandolinjeargument ved hjælp af sys modul
Kommandolinjeargumenter gemmes på en liste ved hjælp af sys modul. sys.argv bruges til at læse værdierne for kommandolinjeargumenterne. Det samlede antal kommandolinjeargumenter kan tælles ved hjælp af len () fungere. Brugen af dette modul er beskrevet i artiklen.
Eksempel 1: Læsning af antallet af argumenter og argumentværdier
Opret en fil med følgende python-script. Her lagres kommandolinjens argumentværdier i variablen, argv ligesom andre sprog. len () metode tæller det samlede antal argumenter, der er sendt på tidspunktet for udførelse af scriptet. Argumentværdier udskrives som en matrix i slutningen af scriptet.
# Importer sys-modulimporter sys
# Udskriv det samlede antal argumenter
print ('Argumenter i alt:', len (sys.argv))
print ('Argumentværdierne er:', str (sys.argv))
Produktion:
Ovenstående script udføres her ved hjælp af fire kommandolinjeargumenter. Det første argument er scriptnavnet, og andre er numeriske værdier. Følgende output vises efter kørsel af scriptet.
Eksempel 2: Læsning af argumentværdier ved hjælp af loop
I det foregående eksempel udskrives argumentværdier som en matrix. Opret en fil med følgende script for at udskrive typen af variabel og udskrive hver argumentværdi i hver linje ved hjælp af for loop.
# Importer sys-modulimporter sys
# Udskriv typen af variablen sys.argv
udskriv (type (sys.argv))
# Udskriv hvert kommandolinjeargument på hver linje
print ('Kommandolinjeargumenterne er:')
for jeg i sys.argv:
udskrive (i)
Produktion:
Ovenstående script udføres ved at give tre argumenter med scriptnavnet. Følgende output vises efter kørsel af scriptet.
Analyse af kommandolinjeargument ved hjælp af getopt-modul
Getopt modul bruges til at analysere kommandolinjeargumenter med indstillingerne. getopt () metode til dette modul bruges til at læse argumenterne. Denne metode har tre argumenter. De to første argumenter er obligatoriske, og det sidste argument er valgfri. Anvendelsen af disse argumenter er angivet nedenfor.
argumenterer: Den indeholder argumentet fra kommandolinjeargumentet.
kort_option: Det kan være ethvert bogstav, der passer med argumentet.
lang_option: Det bruges til at definere lange muligheder med to dele. Disse er indstillingsnavnet og indstillingsværdien.
Syntaks: getopt.getopt (args, short_option, [long_option])
Eksempel 3: Læsning af argumentværdier ved hjælp af korte getopt-indstillinger
getopt modul indeholder flere funktioner end sys modul. Følgende eksempel viser, hvordan korte indstillinger kan bruges i getopt () metode. argv variabel gemmer kommandolinjeargumenterne ved at udelade scriptnavnet. Dernæst defineres to muligheder i getopt () metode, der kan bruges med argumentet i løbetid. Hvis der opstår en fejl, vises der en fejlmeddelelse.
# Importer getopt-modulimport getopt
# Importer sys-modul
importer sys
# Store argumentvariabel, der udelader scriptnavnet
argv = sys.argv [1:]
prøve:
# Definer getopt korte muligheder
optioner, args = getopt.getopt (argv, 'x: y:')
# udskriv indstillingerne og argumentet
udskriv (valgmuligheder)
print (args)
undtagen getopt.GetoptError:
# Udskriv fejlmeddelelsen, hvis den forkerte mulighed er angivet
print ('Den forkerte mulighed er angivet')
# Afslut scriptet
sys.udgang (2)
Produktion:
Kør scriptet uden noget argument, argumenter med korrekte indstillinger og argumenter med den forkerte mulighed.
Eksempel 4: Læsning af argumentværdier ved hjælp af korte og lange getopt-indstillinger
Dette eksempel viser, hvordan både korte og lange indstillinger kan bruges med argumentværdierne. Det tilføjer to tal, hvornår '-en' eller '-tilføje' vil blive brugt som en mulighed og trække to tal, når '-s ' eller '-under ' vil blive brugt som en mulighed i løbetid.
# Importer getopt-modulimport getopt
# Importer sys-modul
importer sys
# Store argumentvariabel, der udelader scriptnavnet
argv = sys.argv [1:]
# Initialiser resultatvariabel
resultat = 0
prøve:
# Definer getopt korte og lange muligheder
optioner, args = getopt.getopt (sys.argv [1:], 'a: s', ['add =', 'sub ='])
# Læs hver indstilling ved hjælp af for loop
for opt, arg i valgmuligheder:
# Beregn summen, hvis indstillingen er -a eller --add
hvis opt in ('-a', '--add'):
resultat = int (argv [1]) + int (argv [2])
# Beregn soltrækket, hvis indstillingen er -s eller --sub
elif opt in ('-s', '--sub'):
resultat = int (argv [1]) - int (argv [2])
print ('Resultat =', resultat)
undtagen getopt.GetoptError:
# Udskriv fejlmeddelelsen, hvis den forkerte mulighed er angivet
print ('Den forkerte mulighed er angivet')
# Afslut scriptet
sys.udgang (2)
Produktion:
Kør scriptet uden nogen argumenter og indstillinger, argumenter med '-a' mulighed, argumenter med '-s' mulighed og argumenter med den forkerte mulighed.
Analyse af kommandolinjeargument ved hjælp af argparse-modul
Argparse-modul indeholder mange muligheder for at læse kommandolinjeargumenter. Standardargumentværdier, argumentet med datatypen, positionelle argumenter, hjælpemeddelelse osv. kan leveres af dette modul.
Eksempel 5: Læsning af kommandolinjeargumenter ved hjælp af argparse
Følgende eksempel viser brugen af argparse modul til læsning af kommandolinjeargument. Her defineres to muligheder for læsning af kommandolinjeargumenter. Disse er '-n' eller '-name' og '-e' eller '-email'. Hvis brugeren giver et forkert argument, viser det en fejl med en brugsmeddelelse. Hvis brugeren giver korrekte indstillinger med argumenterne, vises argumentværdierne. hvis brugeren kører scriptet med '-help' mulighed, vil det give den nødvendige besked for at køre scriptet.
# Importer argparse modulimport argparse
# Importer sys-modul
importer sys
# Erklær funktion til at definere kommandolinjeargumenter
def readOptions (args = sys.argv [1:]):
parser = argparse.ArgumentParser (beskrivelse = "Parsingkommandolisterne.")
parser.add_argument ("- n", "--name", help = "Indtast dit navn.")
parser.add_argument ("- e", "--email", help = "Indtast din e-mail.")
opts = parser.parse_args (args)
tilbagevenden vælger
# Ring til funktionen for at læse argumentværdierne
optioner = readOptions (sys.argv [1:])
udskrive (valgmuligheder.navn)
udskriv (valgmuligheder.e-mail)
Produktion:
Kør scriptet med forkert valgmulighed, korrekt indstilling og hjælpemulighed.
Konklusion:
Forskellige måder at læse kommandolinjeargumenter forklares i denne vejledning ved hjælp af tre python-moduler. Jeg håber, denne vejledning hjælper koderen, der ønsker at læse data ved hjælp af kommandolinjeargumenter i python.
Se forfatterens video: her