shelve
2018-11-20 03:26:04来源:博客园 阅读 ()
一、 shelve
- shelve提供python的持久化操作。
- 持久化:把数据写到硬盘上
- shelve操作与字典非常类似
import shelve d = shelve.open("tom") d["name"] = "Tom" print(d["name"]) # Tom d.close()
文件关闭后无法读取其内容
import shelve d = shelve.open("tom") d["name"] = "Tom" d.close() print(d["name"]) # ValueError: invalid operation on closed shelf
遍历:
import shelve d = shelve.open("namelist", writeback=True) d["name"] = "Tom" d["age"] = 18 d.close() d = shelve.open("namelist") for k in d: # 遍历所有的key print(k) # name age for k in d.keys(): # 遍历所有key print(k) # name age for k, v in d.items(): # 遍历所有的键-值对 print(k, v) # name Tom age 18 d.close()
二、 writeback
- 把修改的内容自动回写到文件中
1. 修改内容
shelve.open()默认writeback=False,所以,在默认情况下修改字典的数据,修改内容不会写入到文件中:
import shelve d = shelve.open("namedict") d["one"] = {"name": "Tom", "age": 18, "hobby": "football"} d.close()
import shelve d = shelve.open("namedict") d["one"]["name"] = "Linda" d.close() d = shelve.open("namedict") print(d["one"]) # {'name': 'Tom', 'age': 18, 'hobby': 'football'} d.close()
当writeback=True时,修改的数据保存在文件中,再次读取为修改后的结果
import shelve d = shelve.open("namedict", writeback=True) d["one"]["name"] = "Linda" d.close() d = shelve.open("namedict") print(d["one"]) # {'name': 'Linda', 'age': 18, 'hobby': 'football'} d.close()
2. 删除内容
在writeback=True条件下,删除内容,文件中内容也会被删除
import shelve d = shelve.open("namedict", writeback=True) del d["one"] d.close() d = shelve.open("namedict") print(d["one"]) # KeyError: b'one' 报错 d.close()
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:图解get方法与filter方法
- python 之 random 模块、 shutil 模块、shelve模块、 xml模 2019-07-24
- day19(random,json,pickle,hashlib,shutil,hmac,shel 2019-05-10
- python 标准库简介 2019-04-25
- Python 序列化模块(json,pickle,shelve) 百日筑基之得气 2019-02-25
- 20190218-学习python使用shelve遇到raise error, " 2019-02-20
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash