Seite 1 von 2

Verfasst: Freitag 6. März 2009, 14:11
von NedNederlander
vielen dank, das probier ich gleich mal aus.

bin noch kein programmier profi, da bin ich ab und zu auf kleien tipps angewiesen :)

Verfasst: Freitag 6. März 2009, 21:58
von Hyperion
Hyperion hat geschrieben:
DasIch hat geschrieben: Sollte man unerwarteterweise doch zig Optionen haben kann es sinn machen aber die meisten dieser kleinen Skripte haben dass nicht. Da hat man i.d.R. eine handvoll Parameter die man in 2 Zeilen "geparst" hat.
Hm ... da würde mich mal ein Bsp. interessieren mit 3 Parametern, bei dem Du eine Typüberprüfung hast und dazu noch einen Hilfetext! Ich denke bereits da hat optparse Vorteile ...
Wo bleibt mein Beispiel? :-D

Verfasst: Samstag 7. März 2009, 00:43
von DasIch
Du nimmst ein dict und nutzt dass zum dispatchen. Bei den paar Parametern sollte ein einfacher Usage String, falls die Anzahl der Parameter o.ä. nicht stimmt, a la ``'USAGE: %s $foo $bar $baz' % sys.argv[0]`` reichen. Den Typ zu prüfen halte ich für überflüssig. Wenn notwendig gibt man die halt an und wer dass nicht liest und meint einfach irgendwas zu übergeben dürfte ziemlich schnell mit einer Exception begrüsst werden.

Verfasst: Samstag 7. März 2009, 01:06
von lunar
Talk is cheap. Show me the code.

Verfasst: Samstag 7. März 2009, 16:38
von DasIch

Verfasst: Samstag 7. März 2009, 17:16
von Hyperion
Also das überzeugt mich überhaupt nicht!

Zunächst einmal ist es fehlerbehaftet! (Die Usage-Ausgabe ist kaputt, Funktionen akzeptieren natürlich keine weiteren Parameter)

Davon abgesehen ist das imho kein gutes Beispiel. Du mappst direkt auf irgend welche Funktionen, ohne mehrere Parameter angeben zu können.
So etwas hat man imho eher selten. Ich möchte häufiger verschiedene Parameter abfragen und für das Script verfügbar machen.

Das klappt eben nicht so einfach, da Du erst einmal den Parameter rausfiltern und den anschließenden Wert filtern müßtest. Da die Reihenfolge beliebig sein kann, ist das eben nicht ganz so trivial.

Insofern bleibe ich bei meiner These, dass die Verwendung von optparse sich schon bei wenigen Parametern lohnt!

Verfasst: Samstag 7. März 2009, 18:13
von lunar
Failed ... dein Beispiel übergibt Parameter an Funktionen, die keine entgegen nehmen, und es zeigt die Usage-Nachricht nur an, wenn man mal vergisst, ein Argument anzugeben. Ein Tippfehler oder ein zusätzliches Argument dagegen führen zu einem netten Traceback ...

Und Optionen kann man so sowieso nicht behandeln ...