python – pickle和编码的问题
发布时间:2020-12-20 11:17:14 所属栏目:Python 来源:网络整理
导读:我正在使用大量的文本文件.他们中的许多人用不同的编码书写.我创建了包含这些文本文件中的一些子字符串的对象列表.打开文件时我正在处理编码问题(正确创建对象并可以使用). 这是我的清单: len(hands)47580type(hands)class 'list'type(hands[0])class '__ma
我正在使用大量的文本文件.他们中的许多人用不同的编码书写.我创建了包含这些文本文件中的一些子字符串的对象列表.打开文件时我正在处理编码问题(正确创建对象并可以使用).
这是我的清单: len(hands) 47580 type(hands) <class 'list'> type(hands[0]) <class '__main__.BridgeHand'> 现在我尝试挑选这个对象: import pickle pickle.dump(hands,open("handspi.p","wb")) 它创建了9MB的文件handpi. hh = pickle.load(open(#some path to this pickle file)) 堆栈跟踪结束于: File "C:Python31libencodingscp1252.py",line 23,in decode return codecs.charmap_decode(input,self.errors,decoding_table)[0] UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 30: character maps to <undefined> 我该怎么办? 解决方法
您可能希望尝试以二进制模式打开文件,因为您当前正在将其作为ascii文件读取.
open('picklefile.pkl','rb') (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |