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
Übergabe von Werten an Variablen beim Skriptstart
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
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
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
[code]#!/usr/bin/env python
import this[/code]
import this[/code]
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
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.Dookie hat geschrieben:optionparse
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
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
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
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
was irritiert Dich denn daran so? Weißt Du am Anfang habe ich das auch nicht ganz verstanden und dann einfach mal folgendes probiert:
Code: Alles auswählen
import sys
print sys.argv
Gruß,
Christian
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?
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!
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Huhu, das sieht nach Curled Brace Sprachen aus. Nein, du kannst nicht von argv[] erben...Anonymous hat geschrieben:Muss ich die Klasse denn folgendermassen schreiben: class xy(argv[]):
Aber gut, dass du selbst draufgekommen bist, das steigert den Lernwert drastisch

My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice