pickle不便于把多个对象存储在一个文件里
shelve //更适用于自定义的类
import shelve
scores = [99,88,77]
student = {'name':'Mike', 'age':20}
db = shelve.open('shelve_student') //创建为二进制
db['s'] = student
db['scores'] = scores
len(db) //2
temp_student = db['s']
type(temp_student)
del db['scores']
class Student:
def __init__(self,name,age):
self.name = name
self.age = age
def__str__(self):
return self.name
def write_shelve():
s =Student('Tom', 20)
db = shelve.open('shelve_student_db')
db['s'] = s
db.close()
def read_shelve():
db = shelve.open('shelve_student_db')
st = db['s']
db.close()
if __name__ =='__main__':
read_shelve()
read_shelve()