Parameter in der Kommandozeile ü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.
Antworten
Tyrax
User
Beiträge: 73
Registriert: Mittwoch 4. Februar 2009, 18:31

Hallo Gemeinde,

ich möchte ein Skript mit einem Satz von Parametern aufrufen, etwa so:

Code: Alles auswählen

python meinSkript.py a=1 b=2 c=1 dist=7
Wie ich gelesen habe, kann ich das zum Beispiel über die Liste sys.argv tun. Die beim Aufruf angegebenen Parameter sollen das im Skript entsprechend gesetzt sein. Ein Beispiel könnte ein Skript sein, dass mit der Eingabe

Code: Alles auswählen

python berechne.py a=5 b=9 Operation=+
Die Summe von 5 und 9 ausgibt. Ich habe auch noch von den Modulen getopt und optparse gelesen. Meine Fragen sind nun diese:

Wie setze ich meinen Wunsch geschickt um? Welche Methode ist zu empfehlen?

Danke und Grüße, Tyrax
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Indem Du Dir optparse schnappst und los legst :-)

Viele empfehlen auch noch:
http://code.google.com/p/argparse/

Zu optparse steht in der Doku doch so einiges; das hat imho doch schon starken Tutortial Charakter.

Fange doch einfach mal klein an.

Da Du es nicht so genau schreibst: Stehen die "Parameter" denn fest? Wenn nein, ist der Weg falsch und Du willst in Wirklichkeit eher eine "Formel" übergeben denke ich.
BlackJack

@Tyrax: Zusätzlich zu den Anmerkungen von Hyperion:

Die Art der Argumente wie Du sie zeigst lassen sich einfach in ein Dictionary von Name zu Wert parsen.
Tyrax
User
Beiträge: 73
Registriert: Mittwoch 4. Februar 2009, 18:31

@Hyperion: Ich will tatsächlich feste Parameterwerte und keine Formel übergeben.

In die Doku zu optparse habe ich schonmal reingelesen und werde die Sache auch noch weiter verfolgen. Falls Du Dich mit optparse auskennst, würde mir ein Code-Beispiel zu meinem berechne.py-Beispiel den Einstieg allerdings deutlich erleichtern.

Danke schonmal für die schnellen Antworten. Grüße, Tyrax
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Tyrax hat geschrieben: In die Doku zu optparse habe ich schonmal reingelesen und werde die Sache auch noch weiter verfolgen. Falls Du Dich mit optparse auskennst, würde mir ein Code-Beispiel zu meinem berechne.py-Beispiel den Einstieg allerdings deutlich erleichtern.
Hm... um ehrlich zu sagen: Was ist denn an den Beispielen in der Doku unklar? Ich kann Dir natürlich ein Beispiel hinschreiben, dass genau auf Deine obigen Parameter passt - aber wo wäre da der Gewinn für Dich? (Außer, dass ich Dir die konkrete Umsetzung abgenommen hätte ;-) )
Tyrax
User
Beiträge: 73
Registriert: Mittwoch 4. Februar 2009, 18:31

Ich hab' mir schon gedacht, dass mein Wunsch nicht ganz den Konventionen des Forums entspricht. In meinem Beispiel entspricht allerdings nur das Prinzip in etwa dem in meinem eigentlichen Skript. Es sollte also 'ne Einstiegshilfe sein. Die tatsächliche Umsetzung mache ich schon selbst. Bei Verfeinerungen würde ich sowieso auf die Doku zurückgreifen.

Grüße, Tyrax
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Noch einfacher als das erste Beispiel in der Dokumentation geht es doch kaum.
Das Leben ist wie ein Tennisball.
Antworten