Python循环文件推荐的方式,可用于读取文本最后一行或删除指定行等

时间:2023-03-09 20:40:14
Python循环文件推荐的方式,可用于读取文本最后一行或删除指定行等

读取文本最后一行:

f = open('test11.txt', 'rb')

for i in f:
offset = -16
while True:
f.seek(offset, 2)
data = f.readlines()
if len(data) > 1:
print("文件的最后一行是:%s"%(data[-1].decode('gbk')))
break
offset *= 2

Python循环文件推荐的方式,可用于读取文本最后一行或删除指定行等

优点:

使用for i in f是使用一行读取一行,不会消耗太多的内存,如果使用readlines就会一次性将所有的内容全部读取出来放在内存当中,会占用较多的内存。

删除文本指定行:

删除文本指定行也是用的for i in i,找到指定行的关键字,将不包括关键字的其他行放在生成器中。

将生成器包含的内容重新写入文件,当然这种效率不是很高(暂时还没想到更好的方法)

lines = (i for i in open('test11.txt', 'r') if '' not in i )
f = open('test33.txt', 'w', encoding="utf-8")
f.writelines(lines)
f.close()

Python循环文件推荐的方式,可用于读取文本最后一行或删除指定行等