Argparse optionale Positionsargumente?
In Python kann das argparse
-Modul verwendet werden, um optionale Positionsargumente anzugeben, indem der nargs
-Parameter auf '?'
gesetzt wird. Hier ist ein Beispiel-Code-Schnipsel:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("input_file", nargs='?', default="default.txt")
parser.add_argument("output_file", nargs='?', default="output.txt")
args = parser.parse_args()
print(args.input_file)
print(args.output_file)
Wenn Sie dieses Skript ausführen, sind die Argumente input_file
und output_file
optional und standardmäßig auf "default.txt" bzw. "output.txt" gesetzt, falls sie nicht angegeben werden.
# Wenn man das Skript ohne Argumente aufruft $ python script.py default.txt output.txt
# Wenn man das Skript mit nur einem Argument aufruft $ python script.py input.txt input.txt output.txt
# Wenn man das Skript mit zwei Argumenten aufruft $ python script.py input.txt output.txt input.txt output.txt