用python3讀取python2的pickle數(shù)據(jù)方式
問(wèn)題一:TypeError: a bytes-like object is required, not 'str'
解決:該問(wèn)題屬于Python3和Python2的字符串兼容問(wèn)題,數(shù)據(jù)文件是在Python2下序列化的,使用Python3讀取時(shí),需要將‘str'轉(zhuǎn)化為'bytes'。
picklefile=open('XXX.pkl','r')
class StrToBytes:
def __init__(self, fileobj):
self.fileobj = fileobj
def read(self, size):
return self.fileobj.read(size).encode()
def readline(self, size=-1):
return self.fileobj.readline(size).encode()
data=pickle.load(StrToBytes(picklefile))
問(wèn)題二:UnicodeDecodeError: 'ascii' codec can't decode byte 0x90 in position 44: ordinal not in range(128)
解決:加上encoding編碼方式
pickle.load(StrToBytes(data_file),encoding='iso-8859-1')
附上完整的讀取代碼:
import pickle
class StrToBytes:
def __init__(self, fileobj):
self.fileobj = fileobj
def read(self, size):
return self.fileobj.read(size).encode()
def readline(self, size=-1):
return self.fileobj.readline(size).encode()
read = open('XXX.pkl', 'r')
data = pickle.load(StrToBytes(read),encoding='iso-8859-1')
print(data)
以上這篇用python3讀取python2的pickle數(shù)據(jù)方式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python中隨機(jī)休眠技術(shù)原理與應(yīng)用詳解
在編程中,讓程序暫停執(zhí)行特定時(shí)間是常見(jiàn)需求,當(dāng)需要引入不確定性時(shí),"隨機(jī)休眠"就成為關(guān)鍵技巧,下面我們就來(lái)看看Python中隨機(jī)休眠技術(shù)的具體實(shí)現(xiàn)與應(yīng)用吧2025-03-03
pandas學(xué)習(xí)之txt與sql文件的基本操作指南
Pandas是Python的第三方庫(kù),提供高性能易用的數(shù)據(jù)類(lèi)型和分析工具,下面這篇文章主要給大家介紹了關(guān)于pandas學(xué)習(xí)之txt與sql文件的基本操作指南,需要的朋友可以參考下2021-08-08
Python爬取qq music中的音樂(lè)url及批量下載
這篇文章主要給大家介紹了利用Python爬取qq music中的音樂(lè)url及實(shí)現(xiàn)批量下載的相關(guān)資料,文中給出了詳細(xì)的介紹和示例代碼,相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-03-03
使用python 爬蟲(chóng)抓站的一些技巧總結(jié)
這篇文章主要介紹了用 python 爬蟲(chóng)抓站的一些技巧總結(jié),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-01-01
Win10下用Anaconda安裝TensorFlow(圖文教程)
這篇文章主要介紹了Win10下用Anaconda安裝TensorFlow(圖文教程),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
django1.11.1 models 數(shù)據(jù)庫(kù)同步方法
今天小編就為大家分享一篇django1.11.1 models 數(shù)據(jù)庫(kù)同步方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
Python中shutil模塊的學(xué)習(xí)筆記教程
shutil模塊是一種高層次的文件操作工具,類(lèi)似于高級(jí)API,主要強(qiáng)大之處在于其對(duì)文件的復(fù)制與刪除操作更是比較支持好。下面這篇文章主要介紹了Python中shutil模塊的相關(guān)教程,需要的朋友可以參考學(xué)習(xí),下面來(lái)一起看看吧。2017-04-04
Python(TensorFlow框架)實(shí)現(xiàn)手寫(xiě)數(shù)字識(shí)別系統(tǒng)的方法
這篇文章主要介紹了Python(TensorFlow框架)實(shí)現(xiàn)手寫(xiě)數(shù)字識(shí)別系統(tǒng)的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05

