Day05-文件2
1.以字节数读取
with open('文件路径',rb) as f:
while True:
res=f.read(1024)#以字节读取
if len(res)==0:
break
2.其他方法
2.1b模式下read指示参数
readline()#读一行
with open()as f:
while True:
line=f.readline()
readlines()#从当前开始读全部行。返回结果列表
2.2写相关操作操作
f.writelines()#相当于调用for循环把列表内容放进去
f.write()只能字符串
with open('路径','wt',encoding='utf-8') as f:
f.writelines()
f.flush()#内存内容直接存到硬盘里。测试场景
f.readtable/writetable/encoding/name/closed()#是否可读/可写/字符编码/文件名/是否关闭
2.3控制文件指针操作
单位都是以字节为单位。只有在t模式下的read(n),n代表的字符个数,其他的都是字节
f.seek(n,模式)#n:指针以字节为单位;模式0:参照物为文件开头位置,1:参照物是当前指针所在的位置,2:参照物是文件末尾位置,应倒着移动
#f.tell()获取文件指针当前位置
3.文件的修改
修改,写模式,a追加
#方式一
with open()as f:
res=f.read()
data=res.replace('alex','dsb')
with open()as f1:
f1.write(data)
#方式二
import os
with open('c.txt'.'rt',encoding='utf-8') as f'\
open('.c.txt.swap','wt',encoding='utf-8') as f1:
for line in f:
f1.write(line.replace('alex','dsb'))
os.remove('c.txt')
os.rename('.c.txt.swap','c.txt')
os.remove(‘c.txt’)
os.rename(’.c.txt.swap’,‘c.txt’)