Python 中 shelve 模块(下)
2021/11/28 22:09:47
本文主要是介绍Python 中 shelve 模块(下),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
writeback 默认值是 False,即“不可回写”,也就是说,一个 key-value 中的 value 是不可以修改的,但是可以将该 key 的值替换成其他的值。例如:
import shelve db = shelve.open('shelf.db') #打开一个文件 #db 打开时 writeback=False db['wang'].append(78) #不可以修改 key-value 中的 value print(db['wang']) db['wang'] = [34,78,1,100] #但该 key 的 value 可替换成其他的 value print(db['wang']) db.close()
输出:
['王', 60.5, 30] [34, 78, 1, 100]
如果打开文件时,设置 writeback=True,那么就可以修改 key-value 中的 value:
import shelve db = shelve.open('shelf.db',writeback=True) #打开一个文件 #db 打开时 writeback=True db['wang'].append(111) #可以修改 key-value 中的 value print(db['wang']) db.sync() #如果 writeback=True,那么可以对内存 db 进行修改,高速缓存中的所有条目写回 #文件中该方法会自动被 close()方法调用
输出:
[34, 78, 1, 100, 111]
删除一个不存在的键:
del db['zhang'] #删除一个键 print(db['zhang']) #抛出 KeyError 异常 db.close()
将抛出 KeyError 类型的异常:
--------------------------------------------------------------------------- KeyError Traceback (most recent call last) <ipython-input-26-f0ad236d1819> in <module>() ----> 1 del db['zhang'] #删除一个键 2 print(db['zhang']) #抛出 KeyError 异常 3 db.close() …
可以用 with 语句,以防止忘记调用 sync()方法和 close()方法。例如:
import shelve with shelve.open('shelf2.db') as s: s['zhang'] = { '名字': 'Zhang', '分数': 90.5, '年龄': 23, } with shelve.open('shelf2.db') as s: print(s['zhang'])
输出:
{'名字': 'Zhang', '分数': 90.5, '年龄': 23}
这篇关于Python 中 shelve 模块(下)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-04Python外包有哪些常见的主要库-icode9专业技术文章分享
- 2024-10-02基于深度学习的钢铁缺陷检测系统(yolov8、注意力机制、PyQt5界面、Python)
- 2024-10-01怎么用python搭建一个系统-icode9专业技术文章分享
- 2024-09-30Python基础入门教程
- 2024-09-30获取参数学习:Python中的基础教程
- 2024-09-30Python编程基础详解
- 2024-09-29点击加载学习:Python编程基础教程
- 2024-09-29数据科学五大Python前端库:第二部分
- 2024-09-27使用python 将ETH账户的资产打散
- 2024-09-26Python编程基础