Tolkar kommandoradsargument med sys modul
Kommandoradsargument sparas i en lista med sys modul. sys.argv används för att läsa värdena för kommandoradsargumenten. Det totala antalet kommandoradsargument kan räknas med hjälp av len () fungera. Användningen av denna modul beskrivs i den del av artikeln.
Exempel 1: Läsning av antalet argument och argumentvärden
Skapa en fil med följande python-skript. Här lagras argumentvärdena för kommandoraden i variabeln, argv som andra språk. len () metoden räknar det totala antalet argument som skickats när skriptet körs. Argumentvärden skrivs ut som en matris i slutet av skriptet.
# Importera sys-modulimportera sys
# Skriv ut totalt antal argument
skriv ut ('Totalt antal argument:', len (sys.argv))
print ('Argumentvärdena är:', str (sys.argv))
Produktion:
Ovanstående skript körs här med fyra kommandoradsargument. Det första argumentet är skriptnamnet och andra är numeriska värden. Följande utdata visas efter körning av skriptet.
Exempel 2: Läsa argumentvärden med slingan
I föregående exempel skrivs argumentvärden ut som en matris. Skapa en fil med följande skript för att skriva ut typen av argumentvariabel och skriva ut varje argumentvärde på varje rad med hjälp av for loop.
# Importera sys-modulimportera sys
# Skriv ut typen av variabeln sys.argv
skriva ut (typ (sys.argv))
# Skriv ut varje kommandoradsargument på varje rad
print ('Kommandoradsargumenten är:')
för jag i sys.argv:
skriva ut (i)
Produktion:
Ovanstående skript körs genom att tillhandahålla tre argument med skriptnamnet. Följande utdata visas efter körning av skriptet.
Analysera kommandoradsargument med hjälp av getopt-modulen
Getopt modulen används för att analysera kommandoradsargument med alternativen. getopt () metod för denna modul används för att läsa argumenten. Denna metod har tre argument. De två första argumenten är obligatoriska och det sista argumentet är valfritt. Användningen av dessa argument ges nedan.
argumenterar: Den innehåller argumentet från kommandoradsargumentet.
kort_alternativ: Det kan vara vilken bokstav som helst som passar med argumentet.
lång_alternativ: Den används för att definiera långa alternativ med två delar. Dessa är alternativets namn och alternativvärde.
Syntax: getopt.getopt (args, short_option, [long_option])
Exempel 3: Läsa argumentvärden med korta getopt-alternativ
getopt modulen innehåller fler funktioner än sys modul. Följande exempel visar hur korta alternativ kan användas i getopt () metod. argv variabel lagrar kommandoradsargumenten genom att utelämna skriptnamnet. Därefter definieras två alternativ i getopt () metod som kan användas med argumentet vid körningstiden. Om något fel inträffar visas ett felmeddelande.
# Importera getopt-modulenimportera getopt
# Importera sys-modul
importera sys
# Argumentvariabel för butik som utelämnar skriptnamnet
argv = sys.argv [1:]
Prova:
# Definiera korta alternativ för getopt
alternativ, args = getopt.getopt (argv, 'x: y:')
# skriv ut alternativen och argumentet
skriva ut (alternativ)
skriva ut (args)
utom getopt.GetoptError:
# Skriv ut felmeddelandet om fel alternativ finns
skriva ut ('Fel alternativ tillhandahålls')
# Avsluta skriptet
sys.utgång (2)
Produktion:
Kör skriptet utan argument, argument med korrekta alternativ och argument med fel alternativ.
Exempel 4: Läsa argumentvärden med korta och långa getopt-alternativ
Det här exemplet visar hur både korta och långa alternativ kan användas med argumentvärdena. Det kommer att lägga till två siffror när '-a' eller '-Lägg till' kommer att användas som ett alternativ och subtrahera två siffror när '-s ' eller '-sub' kommer att användas som ett alternativ vid körningstiden.
# Importera getopt-modulenimportera getopt
# Importera sys-modul
importera sys
# Argumentvariabel för butik som utelämnar skriptnamnet
argv = sys.argv [1:]
# Initiera resultatvariabel
resultat = 0
Prova:
# Definiera getopt korta och långa alternativ
alternativ, args = getopt.getopt (sys.argv [1:], 'a: s', ['add =', 'sub ='])
# Läs varje alternativ med hjälp av för loop
för opt, arg i alternativ:
# Beräkna summan om alternativet är -a eller --add
om opt in ('-a', '--add'):
resultat = int (argv [1]) + int (argv [2])
# Beräkna suntraction om alternativet är -s eller --sub
elif opt in ('-s', '--sub'):
resultat = int (argv [1]) - int (argv [2])
skriva ut ('Resultat =', resultat)
utom getopt.GetoptError:
# Skriv ut felmeddelandet om fel alternativ tillhandahålls
skriva ut ('Fel alternativ tillhandahålls')
# Avsluta skriptet
sys.utgång (2)
Produktion:
Kör skriptet utan några argument och alternativ, argument med '-a' alternativ, argument med '-s' alternativ och argument med fel alternativ.
Analysera kommandoradsargument med argparse-modul
Argparse-modulen innehåller många alternativ för att läsa argument på kommandoraden. Standardargumentvärden, argumentet med datatypen, positionsargument, hjälpmeddelande osv. kan tillhandahållas av denna modul.
Exempel 5: Läsa kommandoradsargument med argparse
Följande exempel visar användningen av argparse modul för läsning av kommandoradsargument. Här definieras två alternativ för läsning av kommandoradsargument. Dessa är '-n' eller '-name' och '-e' eller '-email'. Om användaren ger fel argument kommer det att visa ett fel med ett användningsmeddelande. Om användaren tillhandahåller korrekta alternativ med argumenten kommer den att visa argumentvärdena. om användaren kör skriptet med alternativet '-hjälp' kommer det att ge nödvändigt meddelande för att köra skriptet.
# Importera argparse-modulimportera argparse
# Importera sys-modul
importera sys
# Deklarera funktion för att definiera kommandoradsargument
def readOptions (args = sys.argv [1:]):
parser = argparse.ArgumentParser (beskrivning = "Parsingkommandolistan.")
parser.add_argument ("- n", "--name", help = "Skriv ditt namn.")
parser.add_argument ("- e", "--email", help = "Skriv din e-postadress.")
opts = parser.parse_args (args)
returval
# Ring funktionen för att läsa argumentvärdena
alternativ = readOptions (sys.argv [1:])
skriva ut (alternativ.namn)
skriva ut (alternativ.e-post)
Produktion:
Kör skriptet med fel alternativ, rätt alternativ och hjälpalternativ.
Slutsats:
Olika sätt att läsa kommandoradsargument förklaras i denna handledning med hjälp av tre python-moduler. Jag hoppas att den här handledningen hjälper kodaren som vill läsa data med hjälp av kommandoradsargument i python.
Se författarens video: här