python中pickle模塊的應用


import pickle
# pickle 可用於python中的所有數據類型,但不可跨語言
dic1 = {'name': 'rock'}
dic2 = {'name': 'chen'}
dic3 = {'name': 'zi'}
# dumps loads 用於網絡傳輸 :將數據結構 ----> 轉化成bytes
s1 = pickle.dumps(dic1)
print(s1)
dic = pickle.loads(s1)
print(dic, type(dic))

# pickle可以寫入多信息到文件並讀出
with open('p2.pickle', mode='wb') as f1:
    pickle.dump(dic1, f1)
    pickle.dump(dic2, f1)
    pickle.dump(dic3, f1)

with open('p2.pickle', mode='rb') as f1:
    ret1 = pickle.load(f1)
    ret2 = pickle.load(f1)
    ret3 = pickle.load(f1)
print(ret1, ret2, ret3)

 用pickle存取對象

import pickle


class Student:
    def __init__(self, name):
        self.name = name


def pickle_dump(obj):
    f1 = open('test', 'ab')
    pickle.dump(obj, f1)
    f1.close()
    print('success')


def pickle_load(fpath):
    f1 = open(fpath, 'rb')
    while True:
        try:
            stu_obj = pickle.load(f1)
            print(stu_obj.name)
        except EOFError:
            break
    f1.close()


# s1 = Student('s1')
# s2 = Student('s2')
# pickle_dump(s1)
# pickle_dump(s2)
pickle_load('test')     # s1 s2

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM