Meine Forderung:Wie fügt man mehrere Argumente Optionen in Python mit Argparse?
jetzt Denn wenn ich mit diesem Befehl meiner Python-Anwendung ausführen
python main.py -d listhere/users.txt
Das Programm wird ausgeführt und die Ergebnisdatei als vordefinierten Namen speichern sagen reports.txt
Jetzt möchte ich diese Funktionalität hinzufügen, um Benutzern zu ermöglichen, zu wählen, was den Dateinamen und wo zu speichern, so
Alles ist gleich, aber ich möchte ein anderes Argument -o übergeben werden, das den Filpath und den Namen bestimmt, die gespeichert werden sollen. Wie mache ich es. Was ist der beste Weg, mehrere Optionen zu behandeln oder zu kombinieren?
ich versuchte, diesen
parser = argparse.ArgumentParser(description = "CHECK-ACCESS REPORTING.")
parser.add_argument('--user','-d', nargs='?')
parser.add_argument('--output','-d -o', nargs='?')
parser.add_argument('--input','-i', nargs='?')
args = parser.parse_args(sys.argv[1:])
if args.output and args.input:
#operation that involves output filename too
elif args.user and not args.input:
#default operation only
else:
#notset
ich diese Störung erhalte beim Versuch, das Problem auf diese Weise
Fehler zu beheben:
report.py: Fehler: Unbekanntes Argument : -o listehier/users.txt
Sie können keine '-' Optionen an eine andere' -' Option anhängen, nein, '-d -o' ist hier kein gültiger Optionsname. Warum haben Sie nicht einfach eine '-o'-Option, um den Ausgabenamen anzugeben? –
remove -d und es wird funktionieren – Stack
Warum ich das tat ist, wenn ich nicht einige Werte nach -d es wird nicht funktionieren. Wie man -d als nur den Parameter ohne Wert einstellt. Versucht das Anfügen von default = '' an -d aber funktioniert nicht –