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

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:

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
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

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

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