Analysere kommandolinjeargument ved bruk av 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 den 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 () Metoden teller det totale antall argumenter som ble bestått på tidspunktet for utførelsen av skriptet. Argumentverdier skrives ut som en matrise på slutten av skriptet.
# Importer SYS -modulProduksjon:
Ovennevnte skript blir utført her ved hjelp av fire kommandolinjeargumenter. Det første argumentet er skriptnavnet og andre er numeriske verdier. Følgende utgang vises etter å ha kjørt skriptet.
Eksempel 2: Lese argumentverdier ved hjelp av loopen
I forrige eksempel er argumentverdier skrevet ut som en matrise. Lag en fil med følgende skript for å skrive ut typen argumentvariabel og skrive ut hver argumentverdi i hver linje ved å bruke for loop.
# Importer SYS -modulProduksjon:
Ovennevnte skript blir utført ved å gi tre argumenter med skriptnavnet. Følgende utgang vises etter å ha kjørt skriptet.
Parsing kommandolinje argument ved hjelp av getopt-modul
Getopt Modul brukes til å analysere kommandolinjeargumenter med alternativene. getopt () 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 ethvert brev som går med argumentet.
long_option: Det brukes til å definere lange alternativer med to deler. Dette er alternativnavnet og alternativverdien.
Syntaks: getopt.getopt (args, short_option, [long_option])
Eksempel 3: Lese argumentverdier ved hjelp av korte getopt -alternativer
getopt modulen inneholder flere funksjoner enn sys modul. Følgende eksempel viser hvordan korte alternativer kan brukes i getopt () metode. Argv Variabel vil lagre kommandolinje-argumentene ved å utelate skriptnavnet. Deretter er to alternativer definert i getopt () metode som kan brukes med argumentet på kjøretid. Hvis det oppstår noen feil, vises en feilmelding.
# Importer getopt -modulProduksjon:
Kjør skriptet uten noe argument, argumenter med riktige alternativer og argumenter med feil alternativ.
Eksempel 4: Lese argumentverdier ved bruk 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 '-en' eller '-Legg til' vil bli brukt som alternativ og trekke fra to tall når '-s ' eller '-under' vil bli brukt som alternativ ved kjøretid.
# Importer getopt -modulProduksjon:
Kjør skriptet uten noen argumenter og alternativer, argumenter med '-a' -alternativet, argumenter med '-s' alternativ og argumenter med feil alternativ.
Parsing kommandolinje argument ved hjelp av argparse-modul
ArgParse-modulen inneholder mange alternativer for å lese kommandolinjeargumenter. Standard argumentverdier, argumentet med datatypen, posisjonsargumenter, hjelpemelding osv. kan leveres av denne modulen.
Eksempel 5: Lesing av kommandolinjeargumenter ved bruk 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 '-navn' og '-e' eller '--e-post'. Hvis brukeren gir noe feil argument, vil det vise en feil med en bruksmelding. Hvis brukeren gir riktige alternativer med argumentene, vil den vise argumentverdiene. Hvis brukeren kjører skriptet med '-hjelp' -alternativet, vil det gi nødvendig melding for å kjøre skriptet.
# Importer ArgParse -modulenProduksjon:
Kjør skriptet med feil alternativ, riktig alternativ og hjelpemål.
Konklusjon:
Ulike måter å lese kommandolinjeargumenter blir forklart i denne opplæringen ved å bruke tre Python-moduler. Jeg håper, denne opplæringen vil hjelpe koderen som vil lese data ved hjelp av kommandolinjeargumenter i Python.
Se forfatterens video: Her