交互式数据库系统(shelve)

来源:互联网 发布:js动态创建对象 编辑:程序博客网 时间:2024/06/06 13:12

一个交互式存储系统

import shelvedef store_person(db):  """  Query user for data and store it in the shelf object  """  pid = raw_input('Enter unique ID number: ')  person = {}  person['name'] = raw_input('Enter name: ')  person['age']  = raw_input('Enter Age: ')  person['iphone'] = raw_input('Enter phone number: ')    db[pid] = persondef lookup_person(db):  """  Query user for ID and desired field. and fetch the corresponding data from the shelf object  """  pid = raw_input('Enter ID number: ')  field = raw_input('What would u like to know?(name,age,phone)')  filed = field.strip().lower()  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'  print '?      :Prints this message'def enter_command():  cmd = raw_input('Enter command(? for help): ')  cmd = cmd.strip().lower()  return cmddef main():  database = shelve.open('/var/www/Python/ClassTen/database.dat')  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:    print 'There is some error...'    database.close()if __name__ == '__main__':main()