Python统计大文本行数

import time

# 方法一:
def tong1(filename):
    with open(filename, 'r') as f:
        num = sum(1 for line in f)
        print('总行数为%s行。' % num)

# 方法二:
def tong2(filename):
    count=0
    for line in open(filename, 'r'):
    	count += 1
    print('总行数为%s行。' % count)

if __name__ == '__main__':
    out = 'E:\Python\mypy\搜狗词库\sogou_new.txt'
    start1 = time.time()
    tong1(out)
    end1 = time.time()
    shi1 = end1 - start1
    start2 = time.time()
    tong2(out)
    end2 = time.time()
    shi2 = end2 - start2
    print('方法一耗时%s秒' % str(shi1))
    print('方法二耗时%s秒' % str(shi2))

结果:

去重后总行数为6862667行。
去重后总行数为6862667行。
方法一耗时2.653151512145996秒
方法二耗时2.605149030685425秒

两种方法效率差不多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值