3. Python使用shelve模块实现变量保存和加载恢复

1. 说明:

Shelve模块是对象持久化保存方法,将对象保存到文件里面,缺省(即默认)的数据存储文件是二进制的。使用时,只需要使用open函数获取一个shelf对象,然后对数据进行增删改查操作,在完成工作、并且将内存存储到磁盘中,最后调用close函数便会将数据写入文件。

2. 变量保存操作:
import shelve

filename = './shelve.out'
my_shelf = shelve.open(filename, 'n')  # 不存在的情况下会自动生成对应名称的新文件

# 全局变量
T = 'Hiya'
val = [1, 2, 3]

for i in range(3):
    num = 0	# 全局变量(python当中除了函数内部的变量是局部的,其他都是全局变量)
    if i == 2:
        num += i
        
def testVar():
    val2 = []	# 函数内的局部变量
    for j in range(4):
        val2.append(j)
    my_shelf['val2'] = val2  # 函数里面的变量手动添加


if __name__ == '__main__':

    testVar()

    # 除函数内的局部变量外,其它变量自动寻找添加
    for key in dir():
        try:
            my_shelf[key] = globals()[key]
        except TypeError:
            print('ERROR shelving: {0}'.format(key))

    my_shelf.close()

3. 变量加载恢复:
import shelve

filename = './shelve.out'
my_shelf = shelve.open(filename)
# 打开的my_shelf实际上是一个字典类型
print('T = ', my_shelf['T'])
print('val = ', my_shelf['val'])
print('num = ', my_shelf['num'])
print('val2 = ', my_shelf['val2'])

输出如下:
在这里插入图片描述

持续更新中,请大家多多关注…

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山间点烟雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值