Python使用pickle模塊存儲(chǔ)數(shù)據(jù)報(bào)錯(cuò)解決示例代碼
本文研究的主要是Python使用pickle模塊存儲(chǔ)數(shù)據(jù)報(bào)錯(cuò)解決方法,以代碼的形式展示,具體如下。
首先來(lái)了解下pickle模塊
- pickle提供了一個(gè)簡(jiǎn)單的持久化功能??梢詫?duì)象以文件的形式存放在磁盤上。
- pickle模塊只能在python中使用,python中幾乎所有的數(shù)據(jù)類型(列表,字典,集合,類等)都可以用pickle來(lái)序列化,
- pickle序列化后的數(shù)據(jù),可讀性差,人一般無(wú)法識(shí)別。
接下來(lái)我們看下Python使用pickle模塊存儲(chǔ)數(shù)據(jù)報(bào)錯(cuò)解決方法。
代碼:
# 寫入錯(cuò)誤 TypeError: write() argument must be str, not bytes # 讀取錯(cuò)誤 UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 0: illegal multibyte sequence
解決方案:
def storeTree(inputTree, fielname):
import pickle
# 寫文件時(shí),注明 'wb'
fw = open(fielname, 'wb')
pickle.dump(inputTree, fw)
fw.close()
def grabTree(filename):
import pickle
# 讀文件時(shí),注明 'rb'
fr = open(filename, 'rb')
fr = open(filename)
return pickle.load(fr)
storeTree(myTree, 'classifierStorage.txt')
print(grabTree('classifierStorage.txt'))
輸出:
{'no surfacing': {0: 'no', 1: {'flippers': {0: 'no', 1: 'yes'}}}}
Process finished with exit code 0
總結(jié)
以上就是本文關(guān)于Python使用pickle模塊存儲(chǔ)數(shù)據(jù)報(bào)錯(cuò)解決示例代碼的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
相關(guān)文章
python實(shí)現(xiàn)替換word中的關(guān)鍵文字(使用通配符)
今天小編就為大家分享一篇python實(shí)現(xiàn)替換word中的關(guān)鍵文字(使用通配符),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02
python實(shí)現(xiàn)字符串和字典的轉(zhuǎn)換
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)字符串和字典的轉(zhuǎn)換,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09
使用PySpider進(jìn)行IP代理爬蟲的技巧與實(shí)踐分享
PySpider是一個(gè)基于Python的強(qiáng)大的開源網(wǎng)絡(luò)爬蟲框架,它使用簡(jiǎn)單、靈活,并且具有良好的擴(kuò)展性,本文將介紹如何使用PySpider進(jìn)行IP代理爬蟲,并提供一些技巧和實(shí)踐經(jīng)驗(yàn),文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下2024-03-03
Python新手們?nèi)菀追傅膸讉€(gè)錯(cuò)誤總結(jié)
python語(yǔ)言里面有一些小的坑,特別容易弄混弄錯(cuò),初學(xué)者若不注意的話,很容易坑進(jìn)去,下面我給大家深入解析一些這幾個(gè)坑,希望對(duì)初學(xué)者有所幫助,需要的朋友可以參考學(xué)習(xí),下面來(lái)一起看看吧。2017-04-04

