ich versuche gerade in einem Skript einen Zähler von außerhalb an eine von 'each()' aufgerufene Funktion zu übergeben.
Ich poste einfach mal kurz eine vereinfachte Form des Codes:
Code: Alles auswählen
def func(x):
global i
x.prepend('<a title="bla" href ="link"' + str(i) + '></a>')
i = i + 1
return lambda x: x
i = 0
d('#content p').each(func)
Das große Problem ist, dass das Python-'global' nur Schreiberechte innerhalb der Funktion gewährt (==> 'i = i + 1' funktioniert), ich aber dringend auch Leserechte benötige (für das, was hier als 'print i' dargestellt ist).
Meine Fragen also:
1. Gibt es eine Möglichkeit, die Variable 'i' noch "globaler" zu machen oder irgendetwas in der Art zu erzwingen, damit das funktioniert?
2. Von 'each()' wird der entsprechende Inhalt aus 'd' direkt an 'x' in 'func' übergeben. Weitere Parameter beim Aufruf werden vom Programm nicht verstanden und geben eine Fehlermeldung. Besteht eine Möglichkeit, 'i' irgendwie bei der Übergabe von dem, was zu 'x' wird, in der Struktur des übergebenen Parameters unterzubringen?
Oder überhaupt auf das, was da übergeben wird, zuzugreifen / weitere Parameter zu übergeben?
Viele Grüße und besten Dank schonmal,
Thyrix