Seite 1 von 1
Übergabe von Werten an Variablen beim Skriptstart
Verfasst: Samstag 8. Januar 2005, 16:12
von Gast
Moin !
Eigentlich erklärt sich mein Problem schon durch die Überschrift. Ich hab' ein Skript entwickelt und jetzt festgestellt, daß meine Eingabe für den User zu kompliziert ist. Nun würde ich gerne beim Skriptstart Werte an Variablen übergeben ( z.B. python skript.py -a -c:\python oder so ähnlich )
Ist das möglich und wenn ja, wie ?
Danke für die Mühe,
Gunnar
Verfasst: Samstag 8. Januar 2005, 16:31
von Dookie
Hi Gunnar,
ja, die mitgegebenen Parameter stehen in der Liste
sys.argv
Es gibt auch Module die den Umgang mit den Parametern vereinfachen:
getopt und
optionparse
Gruß
Dookie
Verfasst: Samstag 8. Januar 2005, 17:39
von Leonidas
Das ist
optparse, für Py < 2.2 nachzurüsten unter
http://optik.sf.net. Das Ding funktioniert sehr gut und ist recht einfach zu nutzen. Eine weitere Auwahl von Tools ist
hier.
Verfasst: Sonntag 9. Januar 2005, 11:42
von Gunnar
Komisch, war ich nicht mehr eingeloggt ?
Danke erstmal für die Antworten, ich schreibe meine Eingabeklasse gleich mal um...
Schönes Wochenende für euch !
Gunnar
Verfasst: Freitag 29. April 2005, 08:34
von Gast
oh weh irgendwie verwirrt mich die Erklärung auf python.org ganz schoen. Vielleicht koennt ihr mir helfen, das heist ich denke ihr koennt mir ganz sicher helfen *g*
Wenn ich ein Programm habe und will ihm einfach zwei Strings mit auf den Weg geben!
<script> String1 String2
was hab ich zu tun? Ich blick da nicht ganz durch!
Bitte um Hilfe
MfG
Christoph
Verfasst: Freitag 29. April 2005, 09:04
von CM
Hi
was irritiert Dich denn daran so? Weißt Du am Anfang habe ich das auch nicht ganz verstanden und dann einfach mal folgendes probiert:
Wenn Du diesen Zweizeiler als z. B. "test.py" speicherst und dann das Skript aufrufst mit: "python test.py a b c" wird Dir folgendes erscheinen: "['test.py', 'a', 'b', 'c']" (zumindest von einer Shell aus aufgerufen, bei Dir kann das vielleicht ein wenig anders aussehen). Auf jeden Fall aber hast Du eine Liste und wenn Du jetzt auf das Argument "a" zugreifen möchtest schreibst Du sys.argv[1].
Gruß,
Christian
Verfasst: Freitag 29. April 2005, 09:29
von Gast
Genial hoert sich echt easy an! Ich liebe Python! Aber es laeuft leider nicht! Muss ich die Klasse denn folgendermassen schreiben: class xy(argv[]): das nimmt er leider nicht! Muss ich vielleicht noch auf irgendetwas achten?
Verfasst: Freitag 29. April 2005, 09:43
von Gast
Ok ich nehm alles zurueck!! Python ist ueberhaupt das beste und einfachste Programm der Welt und trotzdem noch eines der umfangreichsten! Ich liebe Python und ich bin einfach gluecklich jetzt *g* ALLES GEHT! Danke euch allen Danke!
Verfasst: Freitag 29. April 2005, 12:31
von Leonidas
Anonymous hat geschrieben:Muss ich die Klasse denn folgendermassen schreiben: class xy(argv[]):
Huhu, das sieht nach Curled Brace Sprachen aus. Nein, du kannst nicht von argv[] erben...
Aber gut, dass du selbst draufgekommen bist, das steigert den Lernwert drastisch
