python 倒数_【IT专家】python实现文件倒数N行读取

本文由我司收集整编,推荐下载,如有疑问,请与我司联系

python

实现文件倒数

N

行读取

2017/11/27 7755

python

并没有直接提供读取文件倒数

N

行的方法

,

自己写了一

个简易

tail

性能测试:

返回字符串:

100000

行:

0.219849s

10000

行:

0.024092s

1000

行:

0.004009s

def

tail(file,

taillines=500,

return_str=True,

avg_line_length=None):

“““avg_line_length:

每行字符平均数

,

return_str:

返回类型,默认为字符串,

False

为列

表。

offset:

每次循环相对文件末尾指针偏移数

”““ with open(file, errors=‘ignore’) as f:

if

not

avg_line_length:

f.seek(0,

2)

f.seek(f.tell()

-

3000)

avg_line_length

=

int(3000

/

len(f.readlines()))

+

10

f.seek(0,

2)

end_pointer

=

f.tell()

offset

=

taillines

*

avg_line_length

if

offset

end_pointer:

f.seek(0,

0)

lines

=

f.readlines()[-taillines:]

return

““.join(lines)

if

return_str

else

lines

offset_init

=

offset

i

=

1

while

len(f.readlines())

taillines: location = f.tell() - offset f.seek(location) i += 1 offset = i * offset_init if f.tell() -

offset

0:

f.seek(0,

0)

break

else:

f.seek(end_pointer

-

offset)

lines

=

f.readlines()

if

len(lines)

=

taillines:

lines

=

lines[-taillines:]

return

““.join(lines)

if

return_str

else

linesa=tail(r’C:\Users\admin\Desktop\command.log’,1000,False)tips:

感谢大家的阅读,

本文由我司收集整编。仅供参阅!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值