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