Python, argparse: wie man nargs = 2 mit type = str und type = int hat

8

Ich verbringe einige Male mit der argparse-Dokumentation, aber ich kämpfe immer noch mit diesem Modul für eine Option in meinem Programm:

%Vor%

Ich möchte präzisieren, dass das erste Argument eine Zeichenkette (type = str) und obligatorisch ist, während das zweite Argument type = int ist, und wenn kein Wert angegeben ist, muss ein Standardargument verwendet werden (sagen wir Standard = 50). . Ich weiß, wie man das macht, wenn nur ein Argument erwartet wird, aber ich habe keine Ahnung, wie es weitergeht, wenn nargs = 2 ... Ist das überhaupt möglich?

Vielen Dank,

    
Bux31 06.06.2013, 09:58
quelle

3 Antworten

9

Sie können Folgendes tun. Mit dem Schlüsselwort required wird das Feld obligatorisch und mit default=50 wird der Standardwert der Option auf 50 festgelegt, falls nicht angegeben:

%Vor%

Ausgabe:

%Vor%     
ashokadhikari 06.06.2013 10:37
quelle
5

Ich stimme Mikes Lösung zu, aber hier ist ein anderer Weg. Es ist nicht ideal, da die Verwendung / Hilfe-Zeichenfolge den Benutzer anweist, ein oder mehrere Argumente zu verwenden.

%Vor%

Und damit bekommst du:

%Vor%     
Evert 06.06.2013 11:19
quelle
0

Ich würde empfehlen, zwei Argumente zu verwenden:

%Vor%     
Mike Müller 06.06.2013 10:24
quelle

Tags und Links