python shelve模块

import shelve
def CreateData():
    try:
        db = shelve.open('shelve_test')
        # key与value必须是字符串
        db['int'] = 1
        db['float'] = 2.3
        db['string'] = "I like python."
        db['key'] = 'value'
    finally:
        db.close()

def LoadData():                       #这个可以另外写一个.py文件去读取
    db = shelve.open('shelve_test')
    for item in db.items():
        print (item)
    print(db['int'])
    print(db['float'])
    print(db['string'])
    print(db['key'])
    db.close()
if __name__ == '__main__':
    CreateData()
    LoadData()

shelve模块比pickle模块简单,只有一个open函数,返回类似字典的对象,可读可写

 

pickle 写: 以写方式打开一个文件描述符,调用pickle.dump把对象写进去

import pickle
dn = {'baidu':'www.baidu.com','qq':'www.qq.com','360':'www.360.cn'}
name = ['mayun','mahuateng','liyanhong']
f = open('a.txt','wb')  #‘wb'用二进制写入
pickle.dump(dn,f)      ##写一个对象
pickle.dump(name,f)  ##再写一个对象
f.close() 
读:以读的方式打开文件描述符,调用pickle.load加载对象
f = open('a.txt','rb')    #‘wb'用二进制读取
pickle.load(f)             ##加载一个对象
pickle.load(f)             ##加载另一个对象
f.close()

 

posted @ 2016-03-02 14:02  编程青年的崛起  阅读(400)  评论(0编辑  收藏  举报