python3-database-shelve

#!/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()

 

posted on 2013-12-10 19:22  cm20121009  阅读(227)  评论(0)    收藏  举报