variablen-Namen verändern

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.
waltix
User
Beiträge: 9
Registriert: Dienstag 25. Mai 2004, 12:57
Wohnort: Behnsdorf

variablen-Namen verändern

Beitragvon waltix » Dienstag 25. Mai 2004, 13:22

hi,
ich brauche dringend eure Hilfe :
In einer for-schleife gibt es einen Variablennamen, der bei jedem Durchlauf geändert werden soll, da jedesmal ein anderer Wert auch in eine andere Variable gespeichert wird. Da ich nicht weiß wie viele Variablen ich benötige, wollte ich den Variablennamen einfach "hochzählen". Dazu lasse ich i bei jedem Durchlauf hochzählen und will nun den Variablennamen mit i "verknüpfen". Ungefähr so :
....
i = 1
for zeile in backupini.readlines():
__if ("QUELLE" in zeile and "/" in zeile):
______findquelle = string.split(zeile)
______selectquelle+str(i) = findquelle[2]
______print selectquelle+str(i)
______i = i+1
....
Geht so natürlich nicht.
Hat jemand eine Lösung ???
Vielen Dank vorab !!!
waltix
joerg
User
Beiträge: 188
Registriert: Samstag 17. August 2002, 17:48
Wohnort: Berlin
Kontaktdaten:

Re: variablen-Namen verändern

Beitragvon joerg » Dienstag 25. Mai 2004, 15:14

Hallo waltix,

Ich würde an der Stelle unbedingt mit einer Liste oder einem Dictionary arbeiten, die sind doch genau dafür da, eine vorher unbekannte Zahl von Werten aufzunehmen!

Wenn es wirklich Einzelvariablen sein müssen, kann sowas helfen:
exec('selectquelle%d = "%s"' % (i, findquelle[2]))

Damit bastelst Du dir eine Anweisung als String zusammen, die dann ausgeführt wird. Ist aber unschön!

Jörg
"Sie sind nicht berechtigt, unrechtmäßige Kopien dieses Datenträgers zu erstellen." - Microsoft-Weisheit auf einer CD von MS-VisualC++-6.0
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Dienstag 25. Mai 2004, 16:51

Hi joerg,

Code: Alles auswählen

selectquelle = []
for zeile in backupini:
    if "QUELLE" in zeile and "/" in zeile:
        findquelle = zeile.split()
        selectquelle.append(findquelle[2])

in der Liste selectquelle sind dann nacheinander die entsprechenden Werte aus der Datei.


Gruß

Dookie

P.S.: du kannst Sourcecode in [code]...[/code] einschließen, dann bleiben die Einrückungen erhalten, dazu gibts auch einen Button oben über dem Engabefeld für dein Posting.
waltix
User
Beiträge: 9
Registriert: Dienstag 25. Mai 2004, 12:57
Wohnort: Behnsdorf

Beitragvon waltix » Mittwoch 26. Mai 2004, 12:27

Vielen Dank
Hat wunderbar geklappt !
Python gefällt mir immer mehr - einfach genial !!
mfg
waltix :P

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder