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-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门