python实现通过shelve修改对象实例

yipeiwu_com6年前Python基础

本文实例讲述了python实现通过shelve修改对象的方法,分享给大家供大家参考。

具体实现方法如下:

import shelve
she = shelve.open('try.she','c')
for c in 'spam':
  she[c] = {c:23}
  
for c in she.keys():
  print c,she[c]


she.close()


she = shelve.open('try.she','c')
print she['p']
she['p']['p'] = 42 #这样修改是不行,这只是修改了个临时对象
print she['p']


a = she['p']#给临时对象绑定个名字
a['p'] = 42
she['p'] = a
print she['p']

本文实例测试环境为Python2.7.6

程序运行结果如下:

p {'p': 23}
a {'a': 23}
m {'m': 23}
s {'s': 23}
{'p': 23}#原值是这样的
{'p': 23}#只是修改了临时对象
{'p': 42}#绑定名字后,达到修改的目的

实例代码及运行结果均配有较为详尽的注释,帮助大家理解其含义。希望本文所述对大家的Python程序设计有所帮助。

相关文章

python实现比对美团接口返回数据和本地mongo数据是否一致示例

本文实例讲述了python实现比对美团接口返回数据和本地mongo数据是否一致。分享给大家供大家参考,具体如下: 应用背景:美团平台商品的上下架状态、库存、售价,和mongo库存储的是否...

Python中属性和描述符的正确使用

关于@property装饰器 在Python中我们使用@property装饰器来把对函数的调用伪装成对属性的访问。 那么为什么要这样做呢?因为@property让我们将自定义的代码同变量...

pytorch之ImageFolder使用详解

pytorch之ImageFolder使用详解

pytorch之ImageFolder torchvision已经预先实现了常用的Dataset,包括前面使用过的CIFAR-10,以及ImageNet、COCO、MNIST、LSUN等...

Python Numpy 实现交换两行和两列的方法

numpy应该是一个和常用的包了,但是在百度查了很久,也没有查到如何交换两列(交换两行的有),所以查看了其他的文档,找到了方法。 交换两行 比如a = np.array([[1,2,3]...

Python实现多线程下载文件的代码实例

实现简单的多线程下载,需要关注如下几点:1.文件的大小:可以从reponse header中提取,如“Content-Length:911”表示大小是911字节2.任务拆分:指定各个线程...