2016-12-28 3 views
0

ich den folgenden Code geschrieben haben, und haben es mehrmals ausgeführt:Druck in Textdatei mit Python

import statements.... 

#Scrape some information.... 
text_file = open("Output.txt", "w") 
text_file.write('some text') 
for each in array: 
    #some code to find the value of row... 
    text_file.write(str(row.encode('ascii', errors='ignore'))) 
    print (row.encode('ascii', errors='ignore')) 
text_file.close() 

jedoch nur die ‚some text‘ wird in die Datei geschrieben. Ich habe den Zeilentext ausgedruckt und er erzeugt die korrekte Ausgabe. Was mache ich falsch?

+0

Dieser Code wird nicht funktionieren. Sie erhalten einen 'IndexError' und Sie benötigen' range', um das Array zu durchlaufen oder einfach direkt auf dem Array zu iterieren. –

+0

@MosesKoledoye Der Code wird ordnungsgemäß ausgeführt und gibt die richtige Ausgabe aus. Es wird jedoch nicht in die Datei geschrieben. – user7347576

+1

das aussieht, als sollte es funktionieren, Sie sind sicher nicht, dass Sie die Ausgabedatei irgendwo anders als ein Texteditor geöffnet haben, und das verursacht einige Störungen/Verwirrung? Wenn ja, schließen Sie diese, führen Sie den Code aus und überprüfen Sie die Datei. Außerdem ist die empfohlene Methode, mit Dateien zu arbeiten, die Anweisung 'with' – Copperfield

Antwort

0

Öffnen Sie die Datei als offen ("Output.txt", "a") statt nur "w". Dadurch können Sie den restlichen Text anhängen.

https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files

Spaß zu haben!

+0

Hat das aber diesen Fehler erhalten: 'ValueError: muss genau einen von create/read/write/append mode haben ' – user7347576

+0

Ich denke, der Fehler ist ziemlich ausführlich. Python nimmt keine Mischungen von Dateimodi als Parameter in 'open()'. Ersetzen Sie "wa" durch "a". –