小函数解决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
-----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
相关文章推荐
- 解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
- ubuntu14.04安装pstuil遇到的缺乏头文件python.h问题解决
- sublime python3中读取和写入文件时如何解决编码问题
- sublime text3刚从官网下载安装后,Ctrl+B无法直接运行Python文件问题--解决方法
- Python实现的json文件读取及中文乱码显示问题解决方法
- ABP学习 解决:Update-Database : 无法将“Update-Database”项识别为 cmdlet、函数、脚本文件或可运行程序的名称的问题
- php做了个弱统计,写入到文件中,引起并发问题,加锁解决
- 解决python with 在写入文件是因编码格式不同而造成乱码问题
- 简单解决Python文件中文编码问题
- python获取文件绝对路径解决找不到文件句柄的问题实例(readConfig.py)V1.2
- python读文件读到windows休止符的问题及解决办法
- 解决python大批量读写.doc文件的问题
- Python 2.7 解决写入文件的中文乱码问题
- 解决python3.6下scrapy中xpath.extract()匹配出来的内容转成json与.csv文件没有编码(unicode)的问题
- Python文件读取编码错误问题解决之(PyCharm开发工具默认设置的坑。。。)
- 【转】python基础===codecs打开文件,解决文件编码格式的问题
- Python解决文件编码问题
- python基础===codecs打开文件,解决文件编码格式的问题
- Python3读取UTF-8文件及统计文件行数的方法
- python--统计某个路径下,文件的种类及其行数(包括子文件夹内的文件)