Überschreibt das Standard-argparse -h-Verhalten

8

Ich habe eine bestimmte Konfigurationsdatei, die ihre Plugins aufruft. Es ist möglich Argumente an diese Plugins zu übergeben. Mit dieser Konfigurationsdatei kann ich auch Befehle zur Laufzeit aufrufen.

Die Plugins verwenden viele Argumente: Einer davon ist -h und steht nicht für --help . Mein Problem ist nun, dass ich mein eigenes Python-Skript aufrufen und einige Argumente übergeben möchte. Ich benutze argparse und wollte konsistent mit dem Rest der Konfiguration sein, ich habe eine -h -Flag erstellt. Zu meiner Überraschung, Argparse gibt mir nur argparse.ArgumentError: argument -h/--help: conflicting option string(s): -h , anstatt sich um sein eigenes Geschäft zu kümmern.

Gibt es eine Möglichkeit, dies zu verhindern?

Ich bin mir bewusst, dass die meisten Leute erwarten, dass -h Hilfe gibt, aber es ist mein eigenes Skript und ich glaube, ich weiß besser, wofür ich eine Flagge verwenden möchte als die argparse Entwickler.

    
Mateusz Kowalczyk 19.02.2013, 06:09
quelle

2 Antworten

11

Suchen Sie in der argparse-Dokumentation nach den ArgumentParser-Argumenten. Da ist einer angerufen add_help, standardmäßig True.

%Vor%

Dies funktioniert wie erwartet.

    
deadfoxygrandpa 19.02.2013, 06:17
quelle
5

Es gibt einen Kwarg, der dieses Zeug unterdrückt ( Dokumentation ).
Erstellen Sie Ihren Parser wie folgt:

%Vor%     
wim 19.02.2013 06:15
quelle

Tags und Links