2016-07-12 14 views
-1

Ich verwende Python 3.5.2-Interpreter in einer Windows 10-Umgebung.Python-Fehler "io.UnsupportedOperation: write" beim Schreiben von UTF-8-Zeichen

Ich trat in die folgenden Zeilen nach der Python-Kurs von Google:

>>> import sys,os,codecs 
>>> f=codecs.open('foo.txt','rU','utf-8') 
>>> for line in f: 
... f.write('£ $') 
... 
Traceback (most recent call last): 
    File "<stdin>", line 2, in <module> 
    File "C:\Users\rschostag\AppData\Local\Programs\Python\Python35-32\lib\codecs.py", line 718, in write 
    return self.writer.write(data) 
    File "C:\Users\rschostag\AppData\Local\Programs\Python\Python35-32\lib\codecs.py", line 377, in write 
    self.stream.write(data) 
io.UnsupportedOperation: writ 

Der Inhalt foo.txt sind derzeit:

string1 
string2 

foo.txt, nach Speichern unter ... im Editor ist ANSI. Muss dies in UTF-8 konvertiert werden, um UTF-8-Zeichen in die Datei zu schreiben?

+3

Sie öffnen die Datei zum Lesen und jetzt Sie wissen nicht, warum Sie es nicht schreiben? – Matthias

Antwort

0

Sie haben die Datei zum Lesen geöffnet, nicht zum Schreiben. Daher die nicht unterstützte Operation. Sie können nicht in eine Datei schreiben, die zum Lesen geöffnet ist.

Die rU angegebene Lese

f=codecs.open('foo.txt','rU','utf-8') 

zum Schreiben zu öffnen:

f=codecs.open('foo.txt','w','utf-8') 
+0

Vielen Dank für die Klärung. –

Verwandte Themen