2016-09-07 4 views
0

So habe ich hektisch Tutorials auf argparse gelesen, aber ich kann nicht herausfinden, warum mein Programm einen Fehler bekommt. Mein Code sieht derzeit wie folgt aus:Python 2.7 Argparse Optionale und erforderliche Argumente

parser = argparse.ArgumentParser() 
parser.add_argument("-d", "-debug", required = False, help = "optional parameter") 
parser.add_argument("input_file", help = "file to be parsed") 
args = parser.parse_args() 

Wenn ich mein Programm mit dem Befehl ausführen „Python myprogram.py -d Eingabedatei“ es beklagt, dass es zu wenige Argumente. Außerdem, wenn ich es nur mit der Eingabedatei als Parameter ausführen, funktioniert es.

Weiß jemand, warum dies passieren könnte?

Antwort

2

Die default action für ein Argument ist 'store'. store Aktionen erwarten normalerweise, dass ein Wert mit dem Flag verknüpft wird.

Es sieht aus wie Sie dies ein boolean Schaltertyp Flag sein wollen, in dem Fall, dass Sie die 'store_true' Aktion wollen

parser = argparse.ArgumentParser() 
parser.add_argument("-d", "--debug", required = False, help = "optional parameter", action = "store_true") 
parser.add_argument("input_file", help = "file to be parsed") 
args = parser.parse_args() 
+0

Sie sind die besten – blazerix

Verwandte Themen