Python -- 使用pickle 和 CPickle對數據對象進行歸檔和解析

常常遇到在Python程序運行中獲得了一些字符串、列表、字典、對象等數據,想要長久的保存下來,方便之後使用,而不是簡單的放入內存中關機斷電就丟失數據。spa

這個時候Pickle模塊就派上用場了,它能夠將對象轉換爲一種能夠傳輸或存儲的格式。code

 

使用Pickle給對象歸檔:對象

import pickle

class Student(object):

    def __init__(self):
        self.name = ''
        self.age  = ''

if __name__ == '__main__':
    stu = Student()
    stu.name = 'zhouxi'
    stu.age  = 18
    pklPath = 'a.pkl'
    with open(pklPath, 'w') as f:
        pickleString = pickle.dump(stu, f)

運行會生成一個a.pkl文件, stu實例就歸檔在這個文件中了blog

 

使用Pickle進行解檔內存

import pickle

class Student(object):

    def __init__(self):
        self.name = ''
        self.age  = ''

if __name__ == '__main__':
    stu = Student()
    pklPath = 'a.pkl'
    with open(pklPath, 'r') as f:
        stu = pickle.load(f)
    print stu.name
    print stu.age

運行結果以下:字符串

zhouxi
18

 

cPickle包的功能和用法與pickle包幾乎徹底相同 (其存在差異的地方實際上不多用到),不一樣在於cPickle是基於c語言編寫的,速度是pickle包的1000倍。對於上面的例子,若是想使用cPickle包,咱們均可以將import語句改成:it

import cPickle as pickle

上面代碼就不須要作改動了class

相關文章
相關標籤/搜索