python 读取文件最后一行


import os

def getEndLing(name):
with open(name, 'rb')as f:
file_size = os.path.getsize(name)
offset = -100
# 文件字节大小为0则返回none
if file_size == 0:
return ''
while True:
# 判断offset是否大于文件字节数,是则读取所有行,并返回最后一行
if (abs(offset) >= file_size):
f.seek(-file_size,2)
data = f.readlines()
return data[-1]
#游标移动倒数的字节数位置
f.seek(offset, 2)
data = f.readlines()
# 判断读取到的行数,如果大于1则返回最后一行,否则扩大offset
if (len(data) > 1):
return data[-1]
else:
offset *= 2

name = 'test.txt'
data = getEndLing(name)
if(data):
print(data.decode('utf-8'))


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM