shelve模块
优点:
shelve模块在将Python数据持久化到本地磁盘时允许我们可以像操作dict一样操作被序列化的数据,而不必一次性的保存或读取所有数据,且读的顺序与写入的顺序相同。
序列化:
db.get(‘score’,[])
account = db.get(‘account’,{‘admin’:‘123456’})
反序列化:
db[‘score’] = scores
db[‘account’] = {‘admin’:npass}
练习代码如下:
import shelve
import random
with shelve.open('db') as db:
scores = db.get('score',[])
account = db.get('account',{'admin':'123456'})
print(scores)
for i in range(3):
name = input('输入用户名:')
password = input('输入密码:')
if name in account and password == account[name]:
name = input("name:")
cj = random.randint(50, 100)
scores.append([name,cj])
#npass=input("new password:")
npass = input('请输入新密码:')
db['score'] = scores
db['account'] = {'admin':npass}
break
else:
print ('用户名密码输入错误!')
else:
print('三次机会用完!')
运行shelve模块后会生成三个文件:
嗯嗯`~就酱紫!还有最后一个json模块