Python 的 shelve 模块二进制存储

利用 Python 的 shelve 模块, 可以将程序中需要保存的数据,以二进制放入 shelf 文件中。另一个程序就可以读取 shelf 文件,用于业务逻辑。也就是说 shelve 模块可以实现数据持久化,只不过格式是二进制形式。
写入数据:

import shelve

'''
使用 shelve 读写变量
'''

# 写入数据文件
shelf_file = shelve.open('book_data')
books = ['云游', '人生十二法则', '一场游戏一次消遣']
shelf_file['books'] = books
shelf_file.close()

读取数据:

shelf_file = shelve.open('book_data')
print(list(shelf_file.keys()))
print(list(shelf_file.values()))
shelf_file.close()

运行结果:

[‘books’]
[[‘云游’, ‘人生十二法则’, ‘一场游戏一次消遣’]]

shelf 类型的值拥有 keys() 和 values() 方法, 它们会分别返回 shelf 中类似列表形式的键或值。因为只是类似,所以应该将它们传递给 list() 函数, 返回真正的列表。

shelve 模块会在执行目录,新建三个持久化文件:

book_data.bak 
book_data.dat 
book_data.dir
如果希望保存 Python 程序中的数据,使用 shelve 模块就很方便

发表评论