我正在用OSX(10.6)編寫一個Python腳本,並使用Python 2.7。 我的命令是:在Python2中使用pickle加載utf-8文件
morphcache = codecs.open('file.txt','r','utf-8')
morphology = pickle.load(morphcache)
morphcache.close()
它使用一個文本文件(UTF-8)包含新行和字符,如C,S,Z等其他網站產生
,因爲它使用轉義字符會報告這個錯誤:
Traceback (most recent call last): File "createxml.py", line 38, in <module>
morphology = pickle.load(morphcache) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pickle.py", line 1378, in load
return Unpickler(file).load() File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pickle.py", line 858, in load
dispatch[key](self) KeyError: 'sV\xc5\xbedeti\np1\nSVerb,\xc5\xbedeje,\xc5\xbedeti,\xc5\xbedeti,\xc5\xbedi,\xc5\xbedijo\np2\nsV\xc5\xbeupnik\np3\nVSu' make: *** [all] Error 1
我正在尋找一個解決方案如何做到這一點的工作 - 該問題的所有解決方案都在說寫文本文件以不同的方式(而不是UTF-8)第一,但我不能這樣做它已經以這種形式得到了輸入文件。
或者應該首先以另一種方式讀寫這個文件到磁盤 - 然後重新打開被醃製?
謝謝。
味酸是二進制文件的內容。不要將它們視爲UTF-8文本。 –
爲什麼你首先將文件視爲泡菜? –
我使用的腳本是使用pickle作爲它的過程。我將這個腳本用於我的語言,並試圖將其與我的文件一起使用 - 並且它不起作用。 https://code.google.com/p/apple-dictionary-plugins/source/browse/trunk/OpenThesaurus_Deutsch/createxml.py – slolibre