python shelve 本地数据存储
一个简单的例子
import sys,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['phone'] = 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 you like to know? (name,age,phone) ') field = 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 aperson from ID number' print 'quit : Save changes and exit' print '? : Prints this message'def enter_command(): cmd = raw_input('Ener command (? for help): ') cmd = cmd.strip().lower() return cmddef main(): database = shelve.open('c:\\text.data') 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()