Python之对象持久化笔记

pickle

序列化为字符串

 .dumps(obj): 将对象序列为字符串

 .loads(s): 从字符串反序列化对象

例如

在学习过程中有什么不懂得可以加
我的python学习交流扣扣qun,688244617
群里有不错的学习教程、开发工具与电子书籍。
与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容。

1 import pickle
2 
3 person = {'name': 'Tom', 'age': 20}
4 s = pickle.dumps(person)
5 print(s)
6 # b'\x80\x03}q\x00(X\x04\x00\x00\x00nameq\x01X\x03\x00\x00\x00Tomq\x02X\x03\x00\x00\x00ageq\x03K\x14u.'
7 p = pickle.loads(s)
8 print(p)
9 # {'name': 'Tom', 'age': 20}

序列化对象到文件

  .dump(obj, file)

  .load(file) 

例如

1 import pickle
2 
3 person = {'name': 'Tom', 'age': 20}
4 # 序列化对象到文件
5 pickle.dump(person, open('pickle_db', 'wb'))
6 p = pickle.load(open('pickle_db', 'rb'))
7 print(p)
8 # {'name': 'Tom', 'age': 20}

Shelve

.open('dbfile') 用shelve.open('dbfile') 打开文件

db['key'] = obj 给键‘key’赋值

len(db) 检查db的大小
del db['key']删除db字典中键为‘key’的键值对

你可能感兴趣的:(Python之对象持久化笔记)