Integer in Datei schreiben/aus Datei auslesen

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
Kingkuddl
User
Beiträge: 5
Registriert: Freitag 23. Juni 2006, 15:20

Freitag 20. März 2009, 13:23

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
Benutzeravatar
kbr
User
Beiträge: 918
Registriert: Mittwoch 15. Oktober 2008, 09:27

Freitag 20. März 2009, 13:59

In Zeile 4 versuchst Du eine Liste in einen Integer zu konvertieren.
Kingkuddl
User
Beiträge: 5
Registriert: Freitag 23. Juni 2006, 15:20

Freitag 20. März 2009, 15:05

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?
EyDu
User
Beiträge: 4871
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Freitag 20. März 2009, 15:38

Code: Alles auswählen

map(int, datei.readlines())
Das Leben ist wie ein Tennisball.
BlackJack

Samstag 21. März 2009, 03:33

Wobei man das `readlines()` weglassen kann, denn Dateiobjekte sind "iterable".
Antworten