首先,我们参考http://blog.csdn.net/laodengbaiwe0838/article/details/52369777的文章学习shelve函数的作用,下面直接上例子:
import shelve #导入shelve
def store_person(db):#定义存储信息函数
'''Query user for data and store it in the shelf object
'''
pid=input('Enter unique ID number:')
person={}
person['name']=input('Enter name:')
person['age']=input('Enter age:')
person['phone']=input('Enter your number:')
db[pid]=person
def lookup_person(db):#定义查询信息函数
'''
Query user for ID and desired field,and fetch the corresponding data from
the shelf object
'''
pid=input('Enter ID number:')
field=input('What would you like to know?(name,age,phone)')
field=field.strip().lower()#先把输入的field字符去掉双头字符,然后转化为小写
print(field.capitalize()+':',db[pid][field])
def print_help():#帮助信息
print('The available commands are:')
print('store:Stores information about a person')
print('lookup:Looks up a person from ID number')
print('quit:Save changes and exit')
def enter_command():#询问输入命令
cmd=input('Enter command (? for help)')
cmd=cmd.strip().lower()
return cmd
def main():
database=shelve.open('自己的文件路径')
try:
while True:
cmd=enter_command()
if cmd=='store':
store_person(database)
elif cmd=='lookup':
lookup_person(database)
elif cmd=='?':
print_help()
elif cmd=='quit':
return
finally:
database.close()
if __name__=='__main__':main()