[英]Loading utf-8 file with pickle in Python2
我正在用Python編寫腳本,該腳本可在OSX(10.6)上使用Python 2.7。 我的命令是:
morphcache = codecs.open('file.txt','r','utf-8')
morphology = pickle.load(morphcache)
morphcache.close()
它使用另一個站點生成的文本文件(utf-8),其中包含換行符和č,š,ž等字符。
由於它使用轉義字符,因此會報告此錯誤:
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)將文本寫入文件,但我做不到,我已經獲得了輸入文件表單。
還是應該首先以其他方式將文件讀取並寫入磁盤-然后重新打開以進行腌制?
謝謝。
泡菜文件不是文本文件。 它們包含Python對象定義(可以包括unicode
文本對象或str
字節字符串)。
以二進制模式打開文件並加載:
with open('file.txt', 'rb') as morphcache:
morphology = pickle.load(morphcache)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.