Ich verwende den folgenden einfachen Code, um einige Argumente zu analysieren. Beachten Sie, dass einer von ihnen erforderlich ist. Wenn der Benutzer das Skript ohne Angabe des Arguments ausführt, zeigt der angezeigte Verwendungs- / Hilfetext leider nicht an, dass es ein nicht optionales Argument gibt, was ich sehr verwirrend finde. Wie kann ich Python dazu bringen, anzuzeigen, dass ein Argument nicht optional ist?
Hier ist der Code:
import argparse
if __name__ == '__main__':
parser = argparse.ArgumentParser(
description='Foo')
parser.add_argument('-i','--input', help='Input file name', required=True)
parser.add_argument('-o','--output', help='Output file name', default="stdout")
args = parser.parse_args()
print ("Input file: %s" % args.input )
print ("Output file: %s" % args.output )
Wenn ich den obigen Code ohne Angabe des erforderlichen Arguments ausführe, erhalte ich die folgende Ausgabe:
usage: foo.py [-h] -i INPUT [-o OUTPUT]
Foo
optional arguments:
-h, --help show this help message and exit
-i INPUT, --input INPUT
Input file name
-o OUTPUT, --output OUTPUT
Output file name
optional arguments
für die erforderlichen Argumente ist immer noch irreführend.
-i INPUT
Teil nicht von eckigen Klammern umgeben, was subtil anzeigt, dass dies tatsächlich erforderlich ist. Sie können aber auch manuell erklären , dass durch diehelp
param