Frage zu Optparse

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
nobs
User
Beiträge: 13
Registriert: Donnerstag 27. Januar 2005, 16:43
Kontaktdaten:

Donnerstag 3. März 2005, 18:16

Hallo benutze optparse und bin auch recht zufrieden damit

Aber wie mache ich einem HELP text ein NEWLINE?????
ich habe '\n', '\r' ,'\n\r', '\r\n', os.linesep alles durchprobiert
aber nix geht

dass kann doch net sooooo schwer sein! (alles unter Win2k/WinXP)


noch was, gibts eine einfache Möglichkeit einen Parameter als PFLICHT
parameter anzugeben?
oder muss ich dann schon einen eigenen Parser zusammenstoppeln?
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Donnerstag 3. März 2005, 18:41

nobs hat geschrieben:Aber wie mache ich einem HELP text ein NEWLINE?????
ich habe '\n', '\r' ,'\n\r', '\r\n', os.linesep alles durchprobiert
aber nix geht

dass kann doch net sooooo schwer sein! (alles unter Win2k/WinXP)
Nun, ich denke, das ist so geplant, dass es nicht geht... damit der Text dann richtig formatiert werden kann.

nobs hat geschrieben:noch was, gibts eine einfache Möglichkeit einen Parameter als PFLICHT
parameter anzugeben?
oder muss ich dann schon einen eigenen Parser zusammenstoppeln?
Ich würde dann einfach einen Defaultwert wie None setzen und dann mit mit if not option.test: sys.exit() arbeiten.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
BlackJack

Freitag 4. März 2005, 01:20

nobs hat geschrieben:Aber wie mache ich einem HELP text ein NEWLINE?????
ich habe '\n', '\r' ,'\n\r', '\r\n', os.linesep alles durchprobiert
aber nix geht
Gar nicht. Der Text wird mit dem Modul 'textwrap' vor der Ausgabe formatiert.
noch was, gibts eine einfache Möglichkeit einen Parameter als PFLICHT parameter anzugeben?
Die Dinger heissen Optionen und so etwas wie eine Pflicht-Option ist ein Widerspruch. Dazu steht auch etwas in der Doku http://docs.python.org/lib/optparse-wha ... s-for.html
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Freitag 4. März 2005, 13:29

BlackJack hat geschrieben:Die Dinger heissen Optionen und so etwas wie eine Pflicht-Option ist ein Widerspruch. Dazu steht auch etwas in der Doku http://docs.python.org/lib/optparse-wha ... s-for.html
Naja, das Optionen optinals sein müssen ist doch gar nicht so gesagt:

Code: Alles auswählen

tar: You must specify one of the `-Acdtrux' options
Try `tar --help' for more information.
Obwohl tar eigentlich ein schlechtes Beispiel ist, besser schon irgendwelche Defaultoptionen setzen, wenn keine Optionen angegeben werden.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
BlackJack

Freitag 4. März 2005, 23:46

Wenn sie nicht optional sind, warum nennt man sie dann Optionen. Und mit ``tar`` hast Du Dir genau eines von den 3 Beispielen rausgesucht, die im ersten Absatz von der Seite die ich verlinkt hatte als Ausnahmen erwähnt sind. Die anderen beiden sind ``find`` und ``dd``.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Samstag 5. März 2005, 12:33

Es gibt nun mal Programme die Optionen brauchen, damit sie irgendetwas sinnvolles machen. Wie sollen die Teile dann heißen?
My god, it's full of CARs! | Leonidasvoice vs Modvoice
BlackJack

Samstag 5. März 2005, 22:18

Sachen die nicht optional sind, und deswegen auch keine Optionen sind, heissen Argumente. Daher auch der Name 'sys.argv'. Du hast Dir die Doku mal durchgelesen?

http://docs.python.org/lib/optparse-terminology.html
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Samstag 5. März 2005, 22:37

BlackJack hat geschrieben:Sachen die nicht optional sind, und deswegen auch keine Optionen sind, heissen Argumente. Daher auch der Name 'sys.argv'. Du hast Dir die Doku mal durchgelesen?
Durchaus, aber andere Kapitel :) So wie ich dich verstanden habe, sind Argumente nicht optional, warum ist in der Doku dann die Rede von option argument?
My god, it's full of CARs! | Leonidasvoice vs Modvoice
BlackJack

Sonntag 6. März 2005, 23:34

Leonidas hat geschrieben:
BlackJack hat geschrieben:Sachen die nicht optional sind, und deswegen auch keine Optionen sind, heissen Argumente. Daher auch der Name 'sys.argv'. Du hast Dir die Doku mal durchgelesen?
Durchaus, aber andere Kapitel :) So wie ich dich verstanden habe, sind Argumente nicht optional, warum ist in der Doku dann die Rede von option argument?
Sag mal trollst Du gerade? Ein `option argument` ist das Argument für eine Option, also z.B.:

Code: Alles auswählen

foo.py --file bar.txt
Da ist ``--file`` die Option und ``bar txt`` das `option argument`. Beides zusammen ist optional, aber wenn man die Option angibt, dann muss man natürlich auch den Dateinamen angeben.

Das steht bei http://docs.python.org/lib/optparse-terminology.html aber laut und deutlich da.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 7. März 2005, 17:36

Ich finde halt nur das es Programme gibt, die einfach Pflichtoptionen (auch wenn du es als Widerspruch definierst, was vermutlich auch stimmt... dann ist aber auch der Name Opttionen schlcht gewählt) benötigen.

Und dd und co werden nicht kritisiert weil sie Pflichoptionen (!) haben, sondern weil die Syntax der Optionen weder GNU Style noch irgend einer anderen (populären) Konvention folgt.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
BlackJack

Dienstag 8. März 2005, 00:04

Wozu braucht man bitte "Pflicht-Optionen"? Wenn etwas angegeben werden muss, dann kann man das auch als Argument angeben. Dazu sind die schliesslich da.
Antworten