Ich will in einem File Werte aktualisieren, dafür lese ich das File mittels readlines(), und, da es auch mehrere Stellen sind, finde ich die entsprechenden Stellen in der Liste mit .index(), und füge die neuen Werte ein:
Code: Alles auswählen
data = open('values.dat', 'r')
values = list()
values = data. readlines()
data.close()
data = open('new_values.txt', 'r')
new_values = list()
new_values = data. readlines()
data.close()
try:
print 'in try'
i = values.index('$ - next: values\n')
print 'index: ' + i
k = values.index('$ - end values\n')
n = i + 1
j = 0
del values[n:k]
while j < len(new_values):
values.insert(n, new_values[j])
j += 1
n += 1
except:
error = 3460
finally:
...
actual_data = open('values.dat', 'w')
ct = 0
while ct < len(values):
actual_data.write(values[ct])
ct += 1
Das hat auch bestens funktioniert, bevor ich auf das line.strip verzichtet habe, um das ursprüngliche feste Format der Daten zu behalten (feste Anzahl Zeichen pro Block). Was mich verwirrt ist, daß ich von den print-Markern das erste zurückbekomme (also in try), doch vom zweiten bekomme ich weder Text, noch Wert, also wird das try schon beim Versuch in der Liste zu suchen verlassen.
Übersehe ich etwas? Bestimmt .. wenn es jemandem auffällt, her mit den Vorschlägen
Danke schon mal.
Viele Grüße,
ivka_sto