当前位置: 首页 > 编程笔记 >

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

陶沛
2023-03-14
本文向大家介绍python实现通过shelve修改对象实例,包括了python实现通过shelve修改对象实例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了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实现简易通讯录修改版,包括了python实现简易通讯录修改版的使用技巧和注意事项,需要的朋友参考一下 描述: 上一篇博客我写了一个简单的通讯录,但是还是觉得不够完美: 需要输入ID,虽然ID是主键,但是没有实现自增功能; 忘记加电话号码了; 如果插入用户名相同,则后续的查、改、删功能受到影响; 所以,我这个修改版主要修正了以上三点缺陷。具体如下 将用户ID设置为自增字段,

  • 问题内容: 我正在开发一个多人游戏。当我使用清单中的对象时,它应使用对象的属性值更新用户生物的统计信息。 这是我的代码: 现在,由于某种原因,这不能正确地执行操作,因此我尝试了: 哪个可行,但不是很方便(因为我需要一个大的if语句来更新该生物的不同统计信息) 所以我尝试了: 我进入日志,但是没有任何更改,所以我尝试了: 日志中仍然为“ 100”,但没有更改,因此我尝试: 仍然会在日志中写入100,

  • 本文向大家介绍Android中实现长按修改ListView对象的内容,包括了Android中实现长按修改ListView对象的内容的使用技巧和注意事项,需要的朋友参考一下 实现的效果如下: 我在ListView的Item长按事件内打开一个弹出窗口,窗口内有一个EditText对象,在这个编辑框内输入文本点确定后,直接修改掉ListView对象内某个TextView对象的内容。 示例代码如下: 总结

  • 我仍然有一点困难把所有关于使用协程启动网络请求的线程安全的信息放在一起。 假设我们有以下用例,有一个我们获得的用户列表,对于其中的每个用户,我将进行一些特定的检查,这些检查必须通过对API的网络请求来运行,并向我返回有关该用户的一些信息。 userCheck发生在一个库中,它不公开挂起函数,但仍然使用回调。在这个库中,我看到了这样的代码来启动每个网络请求: 根据文件,调度员。IO可以使用多个线程来

  • 本文向大家介绍ajax实现修改功能,包括了ajax实现修改功能的使用技巧和注意事项,需要的朋友参考一下 这段时间在做项目,发现自己忘得好快呀,幸亏有博客园帮我记着呢,整理博客园简直不要太重要了哦 因为做的是一个内部管理系统,只用了一个主页面,所有的都不允许整个网页刷新,所以我们只能用ajax 来做,当然刚开始做也走了很多的弯路,最终还是做出来了 这点还是比较欣慰的 今天要整理一下ajax实现修改功

  • 12.5. 通过reflect.Value修改值 到目前为止,反射还只是程序中变量的另一种读取方式。然而,在本节中我们将重点讨论如何通过反射机制来修改变量。 回想一下,Go语言中类似x、x.f[1]和*p形式的表达式都可以表示变量,但是其它如x + 1和f(2)则不是变量。一个变量就是一个可寻址的内存空间,里面存储了一个值,并且存储的值可以通过内存地址来更新。 对于reflect.Values也有