Seite 1 von 1

Integer in Datei schreiben/aus Datei auslesen

Verfasst: Freitag 20. März 2009, 13:23
von Kingkuddl
Hallo ich hätte mal ne kurze Frage und zwar will ich integer zahlen aus einem file auslesen verändern und dann wieder reinschreiben.
Jetzt hab ich jedoch gefunden dass man nur strings in dateien schreiben kann, also hab ich folgendes gecoded:

Code: Alles auswählen

i=0
datei = open("Wert.txt", 'r')
wert = int(datei.readlines())
datei.close()

datei = open ("Wert.txt","w")
while i < len(wert):
    datei.write(str(wert[i]))
    datei.write("\n")
    i=i+1
datei.close()
jetzt meckert er aber dass er nur strings/zahlen in integer konvertieren kann. Wo genau ist das Problem?
Achja die variable ist eine Liste, da das file immer genau 1 zahl pro zeile hat die dann als integer zahlen in die liste eingelesen werden sollen.
Wäre toll wenn mir jemand helfen könnte

Verfasst: Freitag 20. März 2009, 13:59
von kbr
In Zeile 4 versuchst Du eine Liste in einen Integer zu konvertieren.

Verfasst: Freitag 20. März 2009, 15:05
von Kingkuddl
ach ja klar das kann ja nicht gehn,
gibt es einen schnellen weg die einzelnen zeilen der datei zu konvertieren und dann als listenelement zu speichern?

Verfasst: Freitag 20. März 2009, 15:38
von EyDu

Code: Alles auswählen

map(int, datei.readlines())

Verfasst: Samstag 21. März 2009, 03:33
von BlackJack
Wobei man das `readlines()` weglassen kann, denn Dateiobjekte sind "iterable".