Python信息录入小系统(使用shelve),pythonshelve,Python shelv


Python shelve

#Python版本2.7,使用Notepad++ 6.1.5编写。 #此代码参考自《Python基础教程第2版》。#database = shelve.open('D:\\python-test\\test.dat')此路径请自行修改。#运行后请输入?号查看帮助,谢谢。 import sys, shelvedef store_person(db):    '''    Store your info.    '''    pid = raw_input('Enter your ID: ')    person = {}    person['name'] = raw_input('Enter your name: ')    person['age'] = raw_input('Enter your age: ')    person['phone'] = raw_input('Enter your phone number: ')    db[pid] = person#def lookup_person(db):    '''    Lookup your info.    '''    pid = raw_input('Enter the ID: ')    if pid in db.keys():        #检查输入的ID是否存在        field = raw_input('What do you want to lookup?(Name, Age, Phone)')        field = field.strip()   #删除field中可能有的空格和换行符        if field in ('Name', 'Age', 'Phone'):   #检查用户的输入                   field = field.strip().lower()                        print field.capitalize() + ':', db[pid][field]        else:            print 'The input is error!Please enter: Name, Age or Phone'    else:        print "The ID is not exist!"        #lookup_person(db)#def print_help():    print '''    The available commands are:    store, lookup,quit,?    '''#def enter_command():    cmd = raw_input('Enter your command("?" for help): ')    cmd = cmd.strip().lower()    return cmd#def main():    database = shelve.open('D:\\python-test\\test.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:        database.close()if __name__ == '__main__': main()

评论关闭