用于python对象与序列化字节流的相互转换:dump、dumps,load、loads
1.pickle.dump(obj,file):将数据转换为序列化字节流,并写入文件
--obj:要封装的对象
--file:要写入的文件对象,以wb模式打开
import pickle
db = {'bob':{'name':'Bob Smith','age':35,'pay':34000}, 'su':{'name':'su jones','age':34,'pay':54000}}
with open('peopel-pickle','wb') as f:
pickle.dump(db,f)
2.pickle.dumps:以字节流对象形式返回封装的对象,不写入文件
import pickle
db = {'bob':{'name':'Bob Smith','age':35,'pay':34000}, 'su':{'name':'su jones','age':34,'pay':54000}}
with open('peopel-pickle1','wb') as f:
#pickle.dump(db,f)
print(pickle.dumps(db))
3.pickle.load(f):从数据文件中读取数据,并转换为python的数据结构
import pickle
with open('people-pickle','rb') as f:
db = pickle.load(f)
for key in db:
print(key,'=>\n',db[key])
4.pickle.loads():将pickle数据转换为python的数据结构
import pickle
db = {'bob':{'name':'Bob Smith','age':35,'pay':34000}, 'su':{'name':'su jones','age':34,'pay':54000}}
with open('peopel-pickle1','wb') as f:
#pickle.dump(db,f)
db_str = pickle.dumps(db)
print(db_str)
db = pickle.loads(db_str)
for key in db:
print(key,'=>\n',db[key])