Czytanie pliku UTF-8 z kodekami w IronPython
Mam plik .csv zakodowany w UTF-8, który zawiera zarówno symbole łacińskie, jak i cyrylicy.
<code>;F1;F2;abcdefg3;F200 ;ABSOLUTE;NOMINAL;NOMINAL;NOMINAL o1;1;USA;Новосибирск;1223 </code>
Próbuję wykonać następujący skrypt w IronPython 2.7.1:
<code>import codecs f = codecs.open(r"file.csv", "rb", "utf-8") f.next() </code>
Podczas wykonywania f.next () występuje wyjątek:
<code>Traceback (most recent call last): File "c:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft\Python Tools for Visual Studio\1.1\visualstudio_py_repl.py", line 492, in run_file_as_main code.Execute(self.exec_mod) File "<string>", line 4, in <module> File "C:\Program Files\IronPython 2.7.1\Lib\codecs.py", line 684, in next return self.reader.next() File "C:\Program Files\IronPython 2.7.1\Lib\codecs.py", line 615, in next line = self.readline() File "C:\Program Files\IronPython 2.7.1\Lib\codecs.py", line 530, in readline data = self.read(readsize, firstline=True) File "C:\Program Files\IronPython 2.7.1\Lib\codecs.py", line 477, in read newchars, decodedbytes = self.decode(data, self.errors) UnicodeEncodeError: ('unknown', '\x00', 0, 1, '') </code>
W tym samym czasie w CPython 2.7 skrypt działa poprawnie. Również w IronPython 2.7.1 następujący skrypt działa poprawnie:
<code>import codecs f = codecs.open(r"file.csv", "rb", "utf-8") f.readlines() </code>
Czy ktoś wie, co może powodować takie dziwne zachowanie?