python shelve模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()

 

以上是关于python shelve模块的主要内容,如果未能解决你的问题,请参考以下文章

Python模块-shelve模块

python模块(shelve,xml,configparser,hashlib,logging)

python模块(shelve,xml,configparser,hashlib,logging)

python shelve模块

python shelve模块

python shelve模块