Seite 1 von 1

kleines Problem mit optparse

Verfasst: Dienstag 24. Mai 2005, 07:23
von CM
Ein kleines Problem mit dem optparse-Modul: Wenn ich -h als Flag gebe, erhalte ich folgenden Output:

Code: Alles auswählen

options:
  -h, --help            show this help message and exit
  -fFORMAT, --format=FORMAT
                        use to specify file format
  -pPATH, --path=PATH   use to specify directory
D. h. zwischen -f und FORMAT befindet sich kein Leerzeichen - unabhängig davon wie lang ich den string in dest="format" tatsächlich mache. Warum nicht? Default ist doch mit Leerzeichen, oder? Wie kann ich das ändern? (Es schmeichelt ganz einfach dem Auge nicht.)
Ein Auszug aus dem dazugehörigen Skript:

Code: Alles auswählen

parser = OptionParser(usage=__doc__) 
parser.add_option("-f", "--format", action="store", type="string", dest="format", help="use to specify file format")
parser.add_option("-p", "--path", action="store", type="string", dest="path", help="use to specify directory")
Vielen Dank,
Christian

Verfasst: Dienstag 24. Mai 2005, 13:14
von BlackJack
Kein Leerzeichen ist "normal". Wenn Du das ändern möchtest, dann musst Du schon im Code rumbasteln, also die `format_option()` Methode vom `IndentedHelpFormatter` geeignet überschreiben.

Verfasst: Mittwoch 25. Mai 2005, 12:51
von CM
Danke für die Info: Wo steht das mit den Defaulteinstellungen? Ich kann es nirgendwo finden.

Natürlich werde ich nicht im Pythoncore rumfummeln, aber da ich im Moment an einer kleinen Batterie von Skripten fürs Batchprocessing von Daten schreibe, wäre es schon schön, wenn ich das Problemchen lösen könnte: Es erhöht einfach die Übersichtlichkeit. Außerdem liest sich die Beschreibung für das Modul schon so, als gäbe es an den entsprechenden Stellen Leerzeichen.

Gruß,
Christian

Verfasst: Mittwoch 25. Mai 2005, 14:30
von gerold
CM hat geschrieben: Es erhöht einfach die Übersichtlichkeit. Außerdem liest sich die Beschreibung für das Modul schon so, als gäbe es an den entsprechenden Stellen Leerzeichen.
Hi CM!

Ich fahre mit Python 2.4.1. Da ist schon als Standardeinstellung ein Leerzeichen zwischen der Kurzoption und der Metavar.

In dieser Version ist auch vorgesehen, dass man mit set_short_opt_delimiter einstellen kann, ob ein oder kein Leerzeichen verwendet wird. Die von mir durchsuchte Version von optparse ist 1.5a2.

http://optik.sourceforge.net/

lg
Gerold
:-)

Verfasst: Mittwoch 25. Mai 2005, 18:40
von CM
Ah ja, Danke! Das habe ich gar nicht bedacht. Aus Kompatibilitätsgründen scheibe ich momentan unter 2.3. Aber in der Tat: Wenn ich das kurz mal für 2.4.1 umsetze sieht die Sache anders aus.
Na, dann kann ich wohl nichts machen ...

Gruß,
Christian