文件处理
Posted 张仁国
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件处理相关的知识,希望对你有一定的参考价值。
文件处理
r+w:可读可写
with open(‘a.txt‘,mode=‘rt‘,encoding=‘utf-8‘)as f:
data=f.read()
print(data)
with open(‘a.txt‘,mode=‘rb‘)as f:
data=f.read()
print(data.decode(‘utf-8‘))
w+t:可写可读
with open(‘a.txt‘,‘w+t‘,encoding=‘utf-8‘)
print(f.readable)
print(f.writeable)
a+t:可追写可读
控制文件指针移动
f=open(‘c.txt‘,mode=‘r‘,encoding=‘utf-8‘)
f.seek(offest,whence)
offest代表文件的指针偏移量,单位是bytes
whence代表参考物有三个取值
0:参照文件的开头(t和b都可以用)
1:参照当前文件指针所在的位置(只能在b模式下使用)
2:参照文件末尾(倒着移动 (只能在b模式下使用)
快速移动到文件末尾
f.seek(0,2)
只有在t模式下的read(n),n代表的是字符个数,除此之外其他的但凡涉及到文件指针的移动都是字节为单位
f=open(‘c.txt‘,mode =‘rt‘,encoding =‘utf-8‘)
f.close()
f=open(‘b.txt‘,mode=‘r+b‘)
f.truncate(3) 参照物的开头永远是文件开头
ab、a+b、r+b
文件的修改
with open(‘c.txt‘,‘r+t‘,encoding=‘utf-8‘)as f:
f.seek(21,0)
f.write(‘我接你‘)
修改文件内容的方式之一
思路:先将原文件内容一次性全部读入内存,然后在内存修改完毕后,在覆盖会原文件
with open(’d.txt‘,‘rt‘,encounding=‘utf-8‘)as f:
修改文件的内容方式之二
思路
1以读的方式打开原文件,以写的方式打开一个新文件
2从原文件循环读取每一行内容修改后写写入新文件
3删除原文件,将新文件重新命名为原文件的名字
优点同一时刻只有一行内容,存在于内存中
缺点在修改期间,文件内容始终存在
以上是关于文件处理的主要内容,如果未能解决你的问题,请参考以下文章