2016-08-08 25 views
-1

Dies wird fließen, was ich in meinem Programm will:
- neueste Daten in Textdatei
lesen - eintragen neueste Daten mit spezifischen Daten, was ich
will - schreiben Die Summe in Textdatei beginnt am Anfang der Datei

kann Text setzen Datei .txt Python mit

Ich habe, was ich machen will, aber es ist ein Fehler. Was soll ich machen?
Hier ist mein Python-Code:

f = open('uangmasuk.txt', 'r+') 
latest = f.readline() 
data = int(latest) + 1000 
f.write(data) 
f.close() 

Hier ist meine Textdatei:

0 
1000 
2000 

Fehlermeldung:

File "test.py", line 4, in <module> 
    f.write(data) 
TypeError: expected a character buffer object 
+0

Bitte teilen Sie uns die Fehlermeldung mit, die Sie sehen. Es ist eine gute Möglichkeit zu erklären, mit welchen Problemen Sie konfrontiert sind. "Es gibt einen Fehler", ist wirklich nicht etwas, das den Menschen hilft. Stellen Sie sich vor, Sie würden einen Fehlerbericht erhalten, in dem steht: "Es gibt einen Fehler" .... nicht viel zu tun ... – Lix

+0

Ich habe die Frage @Lix aktualisiert –

Antwort

0

Ihr Code ein Update auf f.write benötigt, die einen String als Parameter übernehmen und keine Ganzzahl:

f.write(str(data) + '\n') 
#  |<- cast integer to string 
#     |<- add new line character 
+0

thx es ist Arbeit, aber die neuesten Daten sind in der Unterseite gespeichert, wenn es nach oben geändert werden kann? –

+0

@Eightleven verstehe ich nicht ganz. Können Sie das genauer beschreiben? –

+0

Verwenden Sie bitte die ['with'] (https://docs.python.org/3.4/reference/compound_stmts.html#with) Anweisung für I/O-Operationen, es ist viel sauberer und behandelt gut öffnen/schließen. –