利用 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 模块就很方便