python argparse - Anpassen von Fehlermeldungen

8

Ich möchte benutzerdefinierte Fehlermeldungen für bestimmte Verwendungsfehler in meinem Befehlszeilenprogramm generieren, das die argparse -Bibliothek verwendet. Ich weiß, dass ich die allgemeine Darstellung des Fehlers überschreiben kann, indem ich argparse.ArgumentParser :

unterklassiere %Vor%

Aber wenn meine error -Methode aufgerufen wird, wurde message bereits von der Bibliothek formatiert. Zum Beispiel

%Vor%

Wie kann ich ändern, wie das Zeug nach error: dargestellt wird, zum Beispiel nach

? %Vor%

?

    
Henry Thornton 20.06.2015, 17:02
quelle

2 Antworten

2

Wenn Sie den Quellcode ansehen, können Sie% co_de übersteuern % Fehlermeldung durch Überschreiben dieser Methode:

%Vor%

Wenn Sie alle möglichen Fehlermeldungen überschreiben möchten, müssen Sie dieses Modul grundsätzlich neu schreiben. Alle verschiedenen Fehlermeldungen sind während der verschiedenen Methoden, die jeden Fehlertyp erkennen, vorformatiert.

    
Gerrat 20.06.2015, 17:28
quelle
1

Wenn Sie @ Gerrats Antwort hinzufügen, wird die Funktion _ als

importiert %Vor%

Es wird das Modul gettext Ссылка verwendet, um die Internationalisierung zu ermöglichen. Ich bin mit diesem Modul nicht vertraut, aber vermutlich könnten Sie es verwenden, um eine bestimmte Menge an englischen Paraphrasieren auszuführen. Aber vielleicht nicht so viel wie du möchtest.

Fehlermeldungen durchlaufen mehrere Ebenen. Funktionen wie _check_values schreiben die Basisnachricht. ArgumentError fügt den Argumentnamen hinzu ( argument subparser: in Ihrem Beispiel). parser.error fügt die usage und prog hinzu. parser.exit erledigt den Schritt sys.exit .

%Vor%     
hpaulj 20.06.2015 18:24
quelle

Tags und Links