Werte per Eingabeaufforderung übergeben

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.
NedNederlander
User
Beiträge: 10
Registriert: Mittwoch 4. März 2009, 13:25

vielen dank, das probier ich gleich mal aus.

bin noch kein programmier profi, da bin ich ab und zu auf kleien tipps angewiesen :)
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

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.
lunar

Talk is cheap. Show me the code.
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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!
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 ...
Antworten