2012-04-02 4 views
-2

Schreiben Sie ein Skript, das zwei optionale boolesche Argumente benötigt: "- verbose" und "--live" sowie zwei erforderliche String-Argumente, "base" und "pattern". Bitte richten Sie die Kommandozeilenverarbeitung mit argparse ein.argparse code problems

Dies ist der Code, den ich für die Frage hatte, aber ich bin total verloren. Irgendwelche Zeiger oder Ihr pov auf dem Code wäre hilfreich.

import argparse 
parser = argparse.ArgumentParser(description = ("arguments")) 
parser = add_argument(--verbose, "base", Type = String) 
parser = add_argument(--live, "pattern", Type = String) 
parser.argparse('base')argparse('pattern') 
print = argparse.ArgumentParer(description = ('arguments') 

Antwort

2

Was Sie hinzufügen möchten, sind zwei Flaggen und zwei Argumente, ausführlich, leben, Basis und Muster sind.

im Blick argparse documentation wir sehen, dass Sie durch die Angabe eines Arguments mit einer Aktion von store_true oder store_false boolean Schalter hinzufügen: http://docs.python.org/dev/library/argparse.html#action

parser.add_argument('--verbose', action='store_true') 

Wir auch sehen, dass wir lediglich eine Positions Argument hinzufügen kann die durch Überspringen Flag Name:

parser.add_argument('base') 

Und dass wir den gewünschten Typ unter Verwendung des type Argument angeben:

parser.add_argument('base', type=str) 

Beachten Sie schließlich, dass Sie zuerst Ihre benannten Optionen angeben sollten, wenn Sie Ihren Parser definieren. Alles andere wird in deine Positionsargumente konsumiert. Beachten Sie auch, dass Positionsargumente konstruktionsbedingt erforderlich sind.