Python 持久化 - 文件
文件
长久保存信息的一种数据信息集合
常用操作
打开关闭(文件一旦打开,需要关闭操作)
读写内容
查找
open 函数
open 函数负责打开文件,带有很多参数
第一个参数:必须有,文件的路径和名称
mode:表明文件用什么方式打开
r:以只读方式打开
w:写方式打开,会覆盖以前的内容
x:创建方式打开,如文件已经存在,报错
a:append 方式,以追加的方式对文件内容进行写入
b:binary 方式,二进制方式写入
t:文本方式打开
+;可读写
with 语句
with 语句使用的技术是一种称为上下文管理协议的技术(ContextManagementProtocol)
自动判断文件的作用域,自动关闭不再使用的打开的文件句柄
seek (offset, from)
移动文件的读取位置,也叫读取指针
from 的取值范围:
0:从文件头开始偏移
1:从文件当前位置开始偏移
2:从文件末尾开始偏移
移动的单位是字节(byte)
一个汉字由若干个字节构成
返回文件只针对当前位置
文件的写操作 - write
write(str):把字符串写入文件
writeline(str):把字符串按行写入文件
区别:
write 函数参数只能是字符串
writeline 函数参数可以是字符串,也可以是字符串序列
持久化 - pickle
序列化(持久化,落地):把程序运行中的信息保存在磁盘上
反序列化:序列化的逆过程
pickle:python 提供的序列化模块
pickle.dump:序列化
pickle.load:反序列化
持久化 - shelve
持久化工具
类似字典,用 kv 对保存数据,存取方式跟字典也类似
open,close
shelve 特性
不支持多个应用并行写入
为了解决这个问题,open 的时候可以使用 flag=r
写回问题
shelve 默认情况下不会等待持久化对象进行任何修改
解决方法:强制写回:writeback=True
版权声明: 本文为 InfoQ 作者【若尘】的原创文章。
原文链接:【http://xie.infoq.cn/article/8d3bf4a898021dc35d2468854】。文章转载请联系作者。
评论