IO文件操作-其他方法
一、前面学习的方法
读操作 f.read() # 读取文件的所有内容,当文件读完后,指针会移动到文件的末尾
写操作 f.write('nihao\n你好\n222\n') # 针对文本文件模式的写,需要自己进行换行
二、其他的文件操作方法
1.读操作
f.readline() # 每次读取一行内容,读取完成后指针移动到第二行的首部
f.readines() # 读取每一行的内容(即读取文件所有内容),存放到列表中
注意:f.read()和f.readines()都是讲文件内容一次性读完,如果文件内容过大时,会引起内存溢出,若还想将内容全读入内存,则必须分多次读入,有两种实现方式:
# 方式一
with open('a.txt',mode='rt',encoding='utf-8') as f:
for line in f:
print(line) # 同一时刻只读入一行内容到内存中
# 方式二
with open('1.mp4',mode='rb') as f:
while True:
data=f.read(1024) # 同一时刻只读入1024个Bytes到内存中
if len(data) == 0:
break
print(data)
2.写操作:
f.write('1111\n222\n') # 针对文本模式的写,需要自己写换行符
f.write('1111\n222\n'.encode('utf-8')) # 针对b模式的写,需要自己写换行符
f.writelines(['333\n','444\n']) # 文件模式
f.writelines([bytes('333\n',encoding='utf-8'),'444\n'.encode('utf-8')]) #b模式
三、了解
f.readable() # 文件是否可读
f.writable() # 文件是否可读
f.closed # 文件是否关闭
f.encoding # 如果文件打开模式为b,则没有该属性
f.flush() # 立刻将文件内容从内存刷到硬盘
浙公网安备 33010602011771号