#!/usr/bin/python
import sys, 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 phone 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 unique ID number:')
temp = db[pid]
field = input('Please enter name, age or phone:')
field.strip().lower()
print(field.capitalize() + ': ', temp[field])
def print_help():
print('The avaliable commands are:')
print('store :Stores infomation about a person')
print('lookup :Looks up a person form ID number')
print('quit :Save changes and exit')
print('? :Prints this message')
def enter_command():
cmd = input('Enter command(? for help):')
cmd = cmd.strip().lower()
return cmd
def main():
database = shelve.open('database') # database stores in current directory
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() # Close database in any condition
if __name__ == '__main__':
main()