Python基础教程之统计文件行数

发布时间:2020-07-09编辑:脚本学堂
本文介绍了python统计文件行数的方法,python基础教程实例之怎么统计文件行数,有需要的朋友参考下。

例子,python基础教程实例之教你统计文件行数的方法。

添加了一个方法4,同时发现我的电脑上第三种方法要快一些
 

复制代码 代码示例:
D:python>countLines.py
linecount_1 49238
linecount_2 49238
linecount_3 49238
linecount_4 49238
linecount_1: 0.18
linecount_2: 0.16
linecount_3: 0.09
linecount_4: 0.16

代码,python统计文件行数。
 

复制代码 代码示例:
# -*- coding: utf-8 -*-
import time
 
def timeo(fun, n=10):
    start = time.clock()
    for i in range(n): fun()
    stend = time.clock()
    thetime = stend-start
    return fun.__name__, thetime  #返回函数名称,函数运行10次总时间的 元组
 
import os
 
fname="YourFileName" #稍微改了一下,添加了一个文件名变量
 
def linecount_wc():
    return int(os.popen('wc -l nuc').read().split()[0]) #使用外部系统程序 wc -l
 
def linecount_1( ): #使用方法1
    return len(open(fname).readlines())
 
def linecount_2(): #使用方法2
    count = 0
    for line in open(fname).xreadlines(): count += 1
    return count
 
def linecount_3():   #使用方法3
    count = 0
    thefile = open(fname)
    while 1:
        buffer = thefile.read(65536)
        if not buffer: break
        count += buffer.count('n')
    return count
 
def linecount_4():   #添加的方法4
    count=0
    for line in open(fname):
        #if(line!='n'): count+=1
        count+=1
    return count
 
for f in linecount_1, linecount_2, linecount_3,linecount_4:
    print f.__name__, f()
 
for f in linecount_1, linecount_2, linecount_3,linecount_4:
    print "%s: %.2f"%timeo(f)