Python shelve简单数据存储

来源:互联网 发布:深圳公司网络维护 编辑:程序博客网 时间:2024/04/25 18:35

Python的shelve模块提供了一种简单的数据存储方案,以dict(字典)的形式来操作数据。


 

#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':returnfinally:database.close()if __name__ == '__main__': main()
转自:http://www.oschina.net/code/snippet_587436_11798
原创粉丝点击