Ich möchte die Verwendung eines Python-Programms, das die Argparse-Modul verwendet protokollieren. Derzeit zeichnet der Protokollierer die Befehlszeilenverwendung auf, die der in this post angegebenen Antwort ähnelt. Dies gibt jedoch nur die Befehlszeilenargumente und nicht die in argparse gesetzten Standardwerte (was schließlich der beabsichtigte Zweck ist). Gibt es eine einfache Möglichkeit, ALLE argparse-Optionen zu drucken, um einen schönen, sauberen usage
Protokolleintrag zu erstellen, der die Standardwerte enthält?Python: Drucken Sie alle argparse Argumente einschließlich Voreinstellungen
Es ist nicht schwierig, in den argparse-Namespace zu gehen, um jedes Argument nach Namen zu holen, aber ich hoffe, dass jemand eine knappe Möglichkeit hat, die benötigten Informationen zu extrahieren.
Jede Richtung ist willkommen!
Großartig! Wenn jemand interessiert, hier ist meine Implementierung mit der Protokollierung: 'logger.info (" Verwendung: \ n {0} \ n ".format (" ".join ([x für x in sys.argv]))) ' 'logger.debug (" Alle Einstellungen verwendet: ")' 'für k, v in sortierten (vars (args) .items()):' 'logger.debug (" {0}: {1} ". Format (k, v)) ' – NWaters