Argumenten ontleden op de opdrachtregel in Python

How Parse Arguments Command Line Python



De opdrachtregelargumenten worden gebruikt om gegevens in het programma door te geven op het moment dat het programma wordt uitgevoerd. Deze functie is beschikbaar in de meeste populaire programmeertalen. Maar de verwerking van opdrachtregelargumenten is voor verschillende talen anders. De argumentwaarden worden gegeven met de programmanaam op het moment dat het programma wordt uitgevoerd. Python-taal ondersteunt deze functie. In dit artikel wordt weergegeven hoe opdrachtregelargumenten worden geparseerd in Python-script.

Opdrachtregelargument ontleden met sys module

Opdrachtregelargumenten worden in een lijst opgeslagen met sys module. sys.argv wordt gebruikt om de waarden van de opdrachtregelargumenten te lezen. Het totale aantal opdrachtregelargumenten kan worden geteld met behulp van leen () functie. Het gebruik van deze module wordt beschreven in het deel van het artikel.







Voorbeeld 1: Het aantal argumenten en argumentwaarden lezen

Maak een bestand met het volgende python-script. Hier worden de opdrachtregelargumentwaarden opgeslagen in de variabele, argv zoals andere talen. leen () methode telt het totale aantal argumenten dat is doorgegeven op het moment dat het script wordt uitgevoerd. Argumentwaarden worden afgedrukt als een array aan het einde van het script.



# Systeemmodule importeren
importeren sys

# Print totaal aantal argumenten
afdrukken('Totaal argumenten:', len(sys.argv))
afdrukken('De argumentwaarden zijn:', P(sys.argv))

Uitgang:



Het bovenstaande script wordt hier uitgevoerd met behulp van vier opdrachtregelargumenten. Het eerste argument is de scriptnaam en andere zijn numerieke waarden. De volgende uitvoer verschijnt na het uitvoeren van het script.





Voorbeeld 2: Argumentwaarden lezen met behulp van de lus



In het vorige voorbeeld worden argumentwaarden afgedrukt als een array. Maak een bestand met het volgende script om het type argumentvariabele af te drukken en druk elke argumentwaarde in elke regel af met de for-lus.

# Systeemmodule importeren
importeren sys

# Druk het type van de variabele af, sys.argv
afdrukken(type(sys.argv))

# Print elk commandoregelargument in elke regel
afdrukken('De opdrachtregelargumenten zijn:')
voorlin sys.argv:
afdrukken(l)

Uitgang:

Het bovenstaande script wordt uitgevoerd door drie argumenten bij de scriptnaam op te geven. De volgende uitvoer verschijnt na het uitvoeren van het script.

Opdrachtregelargument ontleden met behulp van de getopt-module

Bedekt module wordt gebruikt om opdrachtregelargumenten met de opties te ontleden. overgoten () methode van deze module wordt gebruikt voor het lezen van de argumenten. Deze methode heeft drie argumenten. De eerste twee argumenten zijn verplicht en het laatste argument is optioneel. Het gebruik van deze argumenten wordt hieronder gegeven.

argumenten: Het bevat het argument uit het opdrachtregelargument.

korte_optie: Het kan elke letter zijn die bij het argument past.

lange_optie: Het wordt gebruikt om lange opties met twee delen te definiëren. Dit zijn de optienaam en optiewaarde.

Syntaxis: getopt.getopt(args, short_option, [long_option])

Voorbeeld 3: Argumentwaarden lezen met korte getopt-opties

overgoten module bevat meer functies dan sys module. Het volgende voorbeeld laat zien hoe korte opties kunnen worden gebruikt in: overgoten () methode. argv variabele slaat de opdrachtregelargumenten op door de scriptnaam weg te laten. Vervolgens worden twee opties gedefinieerd in de overgoten () methode die tijdens runtime met het argument kan worden gebruikt. Als er een fout optreedt, wordt er een foutmelding weergegeven.

# Getopt-module importeren
importeren overgoten

# Systeemmodule importeren
importeren sys

# Bewaar argumentvariabele zonder de scriptnaam
argv= sys.argv[1:]

proberen:
# Definieer getopt korte opties
opties,argumenten= overgoten.overgoten(argv, 'x:j:')

# print de opties en argumenten
afdrukken(opties)
afdrukken(argumenten)

behalve overgoten.GetoptError:

# Druk het foutbericht af als de verkeerde optie is opgegeven
afdrukken('De verkeerde optie is opgegeven')

# Beëindig het script
sys.Uitgang(2)

Uitgang:

Voer het script uit zonder enig argument, argumenten met de juiste opties en argumenten met de verkeerde optie.

Voorbeeld 4: Argumentwaarden lezen met korte en lange getopt-opties

Dit voorbeeld laat zien hoe zowel korte als lange opties kunnen worden gebruikt met de argumentwaarden. Het zal twee getallen toevoegen wanneer '-tot' of '-toevoegen' wordt gebruikt als een optie en trekt twee getallen af ​​wanneer ' -s' of ' -sub' wordt tijdens runtime als optie gebruikt.

# Getopt-module importeren
importeren overgoten

# Systeemmodule importeren
importeren sys

# Bewaar argumentvariabele zonder de scriptnaam
argv= sys.argv[1:]

# Initialiseer resultaatvariabele
resultaat=0

proberen:

# Definieer getopt korte en lange opties
opties,argumenten= overgoten.overgoten(sys.argv[1:], 'als', ['toevoegen=','sub='])

# Lees elke optie met de for-lus
vooropt,boosinopties:
# Bereken de som als de optie -a of --add . is
indienoptin ('-tot', '--toevoegen'):
resultaat= int(argv[1])+int(argv[2])

# Bereken de suntractie als de optie -s of --sub . is
elifoptin ('-s', '--sub'):
resultaat= int(argv[1])-int(argv[2])

afdrukken('Resultaat = ',resultaat)

behalve overgoten.GetoptError:

# Druk het foutbericht af als de verkeerde optie is opgegeven
afdrukken('De verkeerde optie is opgegeven')

# Beëindig het script
sys.Uitgang(2)

Uitgang:

Voer het script uit zonder argumenten en opties, argumenten met de optie '-a', argumenten met de optie '-s' en argumenten met de verkeerde optie.

Opdrachtregelargument ontleden met argparse-module

De Argparse-module bevat veel opties om opdrachtregelargumenten te lezen. Standaardargumentwaarden, het argument met het datatype, positionele argumenten, helpbericht, enz. kunnen door deze module worden geleverd.

Voorbeeld 5: Opdrachtregelargumenten lezen met argparse

Het volgende voorbeeld toont het gebruik van argparse module voor het lezen van opdrachtregelargumenten. Hier zijn twee opties gedefinieerd voor het lezen van opdrachtregelargumenten. Dit zijn '-n' of '-naam' en ‘-e’ of ‘–e-mail’. Als de gebruiker een verkeerd argument geeft, wordt er een fout weergegeven met een gebruiksbericht. Als de gebruiker de juiste opties bij de argumenten geeft, worden de argumentwaarden weergegeven. als de gebruiker het script uitvoert met de optie '–help', dan zal het de nodige boodschap geven om het script uit te voeren.

# Importeer argparse-module
importerenargparse

# Systeemmodule importeren
importeren sys

# Declareer functie om opdrachtregelargumenten te definiëren
zekerleesOpties(argumenten=sys.argv[1:]):
parser =argparse.ArgumentParser(Omschrijving='De lijsten met parseercommando's.')
parser.add_argument('-N', '--naam', helpen='Type je naam.')
parser.add_argument('-En', '--e-mail', helpen='Typ je e-mail.')
kiest= parser.parse_args(argumenten)
opbrengstkiest

# Roep de functie aan om de argumentwaarden te lezen
opties=leesOpties(sys.argv[1:])
afdrukken(opties.naam)
afdrukken(opties.e-mail)

Uitgang:

Voer het script uit met de verkeerde optie, de juiste optie en de helpoptie.

Conclusie:

Verschillende manieren om opdrachtregelargumenten te lezen worden in deze zelfstudie uitgelegd met behulp van drie python-modules. Ik hoop dat deze tutorial de codeur zal helpen die gegevens wil lezen met behulp van opdrachtregelargumenten in python.

Bekijk de video van de auteur: hier