2016-04-07 8 views
0

Ich bin etwas neu zu Python und versuche, in eine Textdatei zu schreiben. Der folgende Code schreibt die Variablen jedoch nicht in die Textdatei, sondern erstellt lediglich eine leere Textdatei. Weiß jemand, warum das so ist?Warum funktioniert das Schreiben in Datei nicht?

crop = input("Which crop? ") 
quantity = input("How many? ") 

def appendA(): 
file.write (quantity + ' ') 

def appendB(): 
file.write ('\n') 
file.write (crop + ' ') 
file.write (quantity + ' ') 

file = open ('cropdatabase.txt', 'a+') 

if crop in file: 
appendA() 
else: 
appendB() 
+0

Python angeben Version. –

+1

Python-Version ist 3.5.1 – superato

+1

Schließen Sie die Datei, wenn Sie fertig sind? 'file.close()' – mattvivier

Antwort

0

Einfache Lösung müssen Sie globale Variablen verwenden. Und schließe die Datei.

crop = input("Which crop? ") 
quantity = input("How many? ") 

def appendA(): 
file.write (quantity + ' ') 

def appendB(): 
file.write ('\n') 
file.write (crop + ' ') 
file.write (quantity + ' ') 

file = open ('cropdatabase.txt', 'a+') 

if crop in file: 
appendA() 
else: 
appendB() 
file.close() 

EDIT: Sie brauchen keine globalen Variablen für diesen meinen Fehler ...