国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

從零學(xué)python系列之淺談pickle模塊封裝和拆封數(shù)據(jù)對象的方法

2019-11-25 18:24:54
字體:
供稿:網(wǎng)友

封裝是一個(gè)將Python數(shù)據(jù)對象轉(zhuǎn)化為字節(jié)流的過程,拆封是封裝的逆操作,將字節(jié)文件或字節(jié)對象中的字節(jié)流轉(zhuǎn)化為Python數(shù)據(jù)對象,不要從不收信任的數(shù)據(jù)源中拆封數(shù)據(jù)。可以封裝和拆封幾乎任何Python數(shù)據(jù)對象,主要包括:

    None , True,F(xiàn)alse
    整數(shù),浮點(diǎn)數(shù),復(fù)數(shù)
    字符串,字節(jié),ByteArray對象
    元組,列表,集合,包含可封裝對象的字典
    在一個(gè)模塊的頂層定義的函數(shù)
    在一個(gè)模塊的頂層定義的內(nèi)置函數(shù)
    那是在一個(gè)模塊的頂層定義的類
    __dict__或調(diào)用__getstate__()的結(jié)果是可封裝的類的實(shí)例

 pickle模塊中常用的方法有:

    1. pickle.dump(obj, file, protocol=None,)

    必填參數(shù)obj表示將要封裝的對象

    必填參數(shù)file表示obj要寫入的文件對象,file必須以二進(jìn)制可寫模式打開,即“wb”

    可選參數(shù)protocol表示告知pickler使用的協(xié)議,支持的協(xié)議有0,1,2,3,默認(rèn)的協(xié)議是添加在Python 3中的協(xié)議3,     其他的協(xié)議詳情見參考文檔

    2. pickle.load(file,*,fix_imports=True, encoding="ASCII", errors="strict")

    必填參數(shù)file必須以二進(jìn)制可讀模式打開,即“rb”,其他都為可選參數(shù)

    3. pickle.dumps(obj):以字節(jié)對象形式返回封裝的對象,不需要寫入文件中

    4. pickle.loads(bytes_object): 從字節(jié)對象中讀取被封裝的對象,并返回

 pickle模塊可能出現(xiàn)三種異常:

    1. PickleError:封裝和拆封時(shí)出現(xiàn)的異常類,繼承自Exception

    2. PicklingError: 遇到不可封裝的對象時(shí)出現(xiàn)的異常,繼承自PickleError

    3. UnPicklingError: 拆封對象過程中出現(xiàn)的異常,繼承自PickleError

 pickle應(yīng)用實(shí)例:

復(fù)制代碼 代碼如下:

import pickle 

with open("my_profile.txt", "wb") as myprofile: 
    pickle.dump({"name":"AlwaysJane", "age":"20+", "sex":"female"}, myprofile)

with open("my_profile.txt", "rb") as get_myprofile:
    print (pickle.load(get_myprofile))

復(fù)制代碼 代碼如下:

import pickle

class Profile:
    name = "AlwaysJane"

pickledclass = pickle.dumps(Profile)
print (pickledclass)
print (pickle.loads(pickledclass))

理解不是很透徹,希望大神們指正錯(cuò)誤。。。

附上參考文檔

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁明县| 兴海县| 神木县| 山丹县| 东乡族自治县| 墨玉县| 柳林县| 沅江市| 仲巴县| 铁岭市| 陇南市| 行唐县| 博野县| 彩票| 米泉市| 宜昌市| 莆田市| 陵川县| 呼图壁县| 武功县| 新余市| 新河县| 娄底市| 益阳市| 山阴县| 厦门市| 夏邑县| 阳朔县| 泾阳县| 鹿邑县| 开鲁县| 旬邑县| 绩溪县| 久治县| 信丰县| 陆良县| 宜兰市| 绥江县| 贵州省| 黑龙江省| 云安县|