Analyse av kommandolinjeargument med sys modul
Kommandolinjeargumenter lagres i en liste ved hjelp av sys modul. sys.argv brukes til å lese verdiene til kommandolinjeargumentene. Det totale antallet kommandolinjeargumenter kan telles ved å bruke len () funksjon. Bruken av denne modulen er beskrevet i delen av artikkelen.
Eksempel 1: Lesing av antall argumenter og argumentverdier
Lag en fil med følgende python -skript. Her lagres kommandolinjeargumentverdiene i variabelen, argv som andre språk. len () method teller det totale antallet argumenter som ble sendt på tidspunktet for utføring av skriptet. Argumentverdier skrives ut som en matrise på slutten av skriptet.
# Importer sys -modul
import sys
# Skriv ut totalt antall argumenter
skrive ut('Totale argumenter:', len(sys.argv))
skrive ut('Argumentverdiene er:', s. s(sys.argv))
Produksjon:
Ovennevnte skript utføres her ved hjelp av fire kommandolinjeargumenter. Det første argumentet er skriptnavnet og andre er numeriske verdier. Følgende utdata vises etter at skriptet er kjørt.
Eksempel 2: Lese argumentverdier ved hjelp av løkken
I forrige eksempel skrives argumentverdier ut som en matrise. Lag en fil med følgende script for å skrive ut typen argumentvariabel og skrive ut hver argumentverdi på hver linje ved å bruke for loop.
# Importer sys -modulimport sys
# Skriv ut typen variabel, sys.argv
skrive ut(type(sys.argv))
# Skriv ut hvert kommandolinjeargument på hver linje
skrive ut('Kommandolinjeargumentene er:')
tilJegi sys.argv:
skrive ut(Jeg)
Produksjon:
Skriptet ovenfor kjøres ved å gi tre argumenter med skriptnavnet. Følgende utdata vises etter at skriptet er kjørt.
Analyse av kommandolinjeargument ved hjelp av getopt-modulen
Toppet modul brukes til å analysere kommandolinjeargumenter med alternativene. toppet () metode for denne modulen brukes til å lese argumentene. Denne metoden har tre argumenter. De to første argumentene er obligatoriske, og det siste argumentet er valgfritt. Bruken av disse argumentene er gitt nedenfor.
args: Den inneholder argumentet hentet fra kommandolinjeargumentet.
short_option: Det kan være hvilken som helst bokstav som går med argumentet.
long_option: Den brukes til å definere lange alternativer med to deler. Dette er alternativets navn og opsjonsverdi.
Syntaks: getopt.getopt (args, short_option, [long_option])
Eksempel 3: Lese argumentverdier ved hjelp av korte getopt -alternativer
toppet modulen inneholder flere funksjoner enn sys modul. Følgende eksempel viser hvordan korte alternativer kan brukes i toppet () metode. argv variabel vil lagre kommandolinjeargumentene ved å utelate skriptnavnet. Deretter er to alternativer definert i toppet () metode som kan brukes med argumentet i løpetid. Hvis det oppstår en feil, vises en feilmelding.
# Importer getopt -modulimport toppet
# Importer sys -modul
import sys
# Lagre argumentvariabel som utelater skriptnavnet
argv= sys.argv[1:]
prøve:
# Definer getopt korte alternativer
alternativer,args= toppet.toppet(argv, 'x: y:')
# skriv ut alternativene og argumentet
skrive ut(alternativer)
skrive ut(args)
unntatt toppet.GetoptError:
# Skriv ut feilmeldingen hvis feil alternativ er gitt
skrive ut('Feil alternativ er gitt')
# Avslutt manuset
sys.exit(2)
Produksjon:
Kjør skriptet uten noen argumenter, argumenter med riktige alternativer og argumenter med feil alternativ.
Eksempel 4: Lese argumentverdier ved hjelp av korte og lange getopt -alternativer
Dette eksemplet viser hvordan både korte og lange alternativer kan brukes med argumentverdiene. Det vil legge til to tall når '-til' eller '-legge til' vil bli brukt som et alternativ og trekke fra to tall når ' -s ' eller ‘ -under' vil bli brukt som et alternativ under kjøretiden.
# Importer getopt -modulimport toppet
# Importer sys -modul
import sys
# Lagre argumentvariabel som utelater skriptnavnet
argv= sys.argv[1:]
# Initialiser resultatvariabel
resultat=0
prøve:
# Definer getopt korte og lange alternativer
alternativer,args= toppet.toppet(sys.argv[1:], 'som', ['add =','sub ='])
# Les hvert alternativ ved å bruke for loop
tilopt,sintialternativer:
# Beregn summen hvis alternativet er -a eller --tillegg
hvisopti ('-til', '--legge til'):
resultat= int(argv[1])+int(argv[2])
# Beregn suntraction hvis alternativet er -s eller --sub
elifopti ('-s', '--under'):
resultat= int(argv[1])-int(argv[2])
skrive ut('Resultat =',resultat)
unntatt toppet.GetoptError:
# Skriv ut feilmeldingen hvis feil alternativ er gitt
skrive ut('Feil alternativ er gitt')
# Avslutt manuset
sys.exit(2)
Produksjon:
Kjør skriptet uten argumenter og alternativer, argumenter med alternativet ‘-a’, argumenter med ‘-s’ og argumenter med feil alternativ.
Analyse av kommandolinjeargument ved hjelp av argparse-modul
Argparse-modulen inneholder mange alternativer for å lese kommandolinjeargumenter. Standard argumentverdier, argumentet med datatypen, posisjonelle argumenter, hjelpemelding, etc. kan gis av denne modulen.
Eksempel 5: Lese kommandolinjeargumenter ved hjelp av argparse
Følgende eksempel viser bruken av argparse modul for å lese kommandolinjeargument. Her er to alternativer definert for å lese kommandolinjeargumenter. Disse er ‘-N’ eller ‘–name’ og '-E' eller '–email'. Hvis brukeren gir et feil argument, viser det en feil med en bruksmelding. Hvis brukeren gir riktige alternativer med argumentene, vil den vise argumentverdiene. hvis brukeren kjører skriptet med '–help' -alternativet, vil det gi nødvendig melding for å kjøre skriptet.
# Importer argparse modulimportargparse
# Importer sys -modul
import sys
# Deklarere funksjon for å definere kommandolinjeargumenter
defreadOptions(args=sys.argv[1:]):
parser =argparse.ArgumentParser(beskrivelse='Parsing kommandoer lister.')
parser.add_argument('-n', '--Navn', hjelp='Skriv inn navnet ditt.')
parser.add_argument('-Og', '--post', hjelp='Skriv inn e -posten din.')
velger= parser.parse_args(args)
komme tilbakevelger
# Ring funksjonen for å lese argumentverdiene
alternativer=readOptions(sys.argv[1:])
skrive ut(alternativer.Navn)
skrive ut(alternativer.e -post)
Produksjon:
Kjør skriptet med feil alternativ, riktig alternativ og hjelpealternativ.
Konklusjon:
Ulike måter å lese kommandolinjeargumenter forklares i denne opplæringen ved å bruke tre python-moduler. Jeg håper at denne opplæringen vil hjelpe koderen som ønsker å lese data ved hjelp av kommandolinjeargumenter i python.
Se forfatterens video: her