Python使用shelve模块实现简单数据存储的方法
本文实例讲述了Python使用shelve模块实现简单数据存储的方法。分享给大家供大家参考。具体分析如下:
Python的shelve模块提供了一种简单的数据存储方案,以dict(字典)的形式来操作数据。
#!/usr/bin/python importsys,shelve defstore_person(db): """ Queryuserfordataandstoreitintheshelfobject """ pid=raw_input('EnteruniqueIDnumber:') person={} person['name']=raw_input('Entername:') person['age']=raw_input('Enterage:') person['phone']=raw_input('Enterphonenumber:') db[pid]=person deflookup_person(db): """ QueryuserforIDanddesiredfield, andfetchthecorrespondingdata fromtheshelfobject """ pid=raw_input('EnteruniqueIDnumber:') temp=db[pid] field=raw_input('Pleaseentername,ageorphone:') field.strip().lower() printfield.capitalize()+':',temp[field] defprint_help(): print'Theavaliablecommandsare:' print'store:Storesinfomationaboutaperson' print'lookup:LooksupapersonformIDnumber' print'quit:Savechangesandexit' print'?:Printsthismessage' defenter_command(): cmd=raw_input('Entercommand(?forhelp):') cmd=cmd.strip().lower() returncmd defmain(): database=shelve.open('database') #databasestoresincurrentdirectory try: whileTrue: cmd=enter_command() ifcmd=='store': store_person(database) elifcmd=='lookup': lookup_person(database) elifcmd=='?': print_help() elifcmd=='quit': return finally: database.close() #Closedatabaseinanycondition if__name__=='__main__': main()
希望本文所述对大家的Python程序设计有所帮助。