python 计算文件中总行数

本文介绍了几种有效的计算文件行数的方法,包括将文件读入列表并统计长度、使用循环遍历文件、统计换行符数量及利用linecache库提高大文件处理效率。

本文介绍了多种方法用于计算文件的行数。首先,最简单的方法是将文件读入一个列表,然后统计列表的长度来得到行数。然而,对于非常大的文件,这种方法可能会变慢甚至失效。为此,文章提供了使用循环的方法,通过遍历文件来统计行数。另外,还介绍了一种处理大文件的快速方法,即统计文件中换行符的个数。此外,文章还提到了linecache库,该库可以预先将文件读入缓存,提高读取大文件的效率。它还提供了通过linecache库获取文件指定行内容的方法。这些方法都能够有效地计算文件的行数,并适用于不同大小的文件。

计算文件的行数,最简单的办法是把文件读入一个大的列表中,然后统计列表的长度.如果文件的路径是以参数的形式filepath传递的,那么只用一行代码就可以完成我们的需求了。

count = len(open(filepath,'rU').readlines())

如果是非常大的文件,上面的方法可能很慢,甚至失效。此时,可以使用循环来处理。

count = -1
for count, line in enumerate(open(thefilepath, 'rU')):
    pass
count += 1

另外一种处理大文件比较快的方法是统计文件中换行符的个数'\n'(或者包含'\n'的字串,如在windows系统中)。

count = 0
thefile = open(thefilepath, 'rb')
while True:
    buffer = thefile.read(8192*1024)
    if not buffer:
        break
    count += buffer.count('\n')
thefile.close( )

参数'rb'是必须的,否则在windows系统上,上面的代码会非常慢.

linecache是专门支持读取大文件,而且支持行式读取的函数库。 linecache预先把文件读入缓存起来,后面如果你访问该文件的话就不再从硬盘读取

读取文件某一行的内容(测试过1G大小的文件,效率还可以)

import linecache

count = linecache.getline(filename,linenum)

用linecache读取文件内容(测试过1G大小的文件,效率还可以)

str = linecache.getlines(filename)

str为列表形式,每一行为列表中的一个元素。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微软技术分享

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值