python 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('C:/Users/22502/Desktop/gongxh/StudyWork/project/Python Program/database')
    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()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值