您的位置:首页 > 编程语言 > Python开发

小函数解决python统计文件行数问题

2012-03-01 23:16 525 查看
小函数解决python统计文件行数问题

-----by wangsh

经常会用python写一些小程序处理数据转化,或者数据提取的工作,今天解决了python统计文件行数问题。

不多说了,直接上代码:

最简单的办法是把文件读入一个大的列表中,然后统计列表的长度.如果文件的路径是以参数的形式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系统上,上面的代码会非常慢.

经过测试,三种方法均可以,个人推荐使用第三种。

参考

1.python统计文件行数 http://blog.sina.com.cn/s/blog_798f21a00100yk1b.html
2. 统计文件行数 http://blog.sina.com.cn/s/blog_48acdd250100qh93.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐