ich bin auf der Suche nach etwas Hilfe zur Selbsthilfe Leider weiß ich nicht, was ich am besten Googlen soll bei meinem Problem.
Folgendes Problem.
Ich lade in bestimmten Zeitintervallen eine Datei und möchte Unterschiede sehen. Dazu lade ich diese Datei (Tabelle) in eine Liste mit dictionaries , "plants" und "old_plants". Beim Starten der Python-Datei sollte selbstverständlich kein Vergleich stattfinden. Meine erste Idee war zu überprüfen ob "old_plants" bereits assigned ist. Wenn nicht, dann soll soll von der zuvor geladenen Datei eine Kopie mit dem Name "plants_old" erstellt werden.
Code: Alles auswählen
try:
plants_old
except NameError:
plants_old = plants[:]
print "Name Error"
for i in xrange(0, len(mylist)/5, 5):
d = DictDiffer(plants_old[i], plants[i])
print "Changed:", d.changed()
print plants_old[0]["Affected"], plants[0]["Affected"]
Das Problem ist aber, dass auch bei mehrmaligen ausführen immer der Zweig NameError ausgeführt wird, obwohl ja im ersten Durchgang dieser beseitigt sein sollte. Dadurch läuft natürlich auch mein Vergleich ins Leere, da "plants" immer "plants_old" ist.
Ich bin mir auch ziemlich sicher, dass man die Sache besser angehen könnte, aber ich weiß leider nicht wie.
Vielen Dank für eure Hilfe (und Geduld)