使用python统计文件行数示例分享

yipeiwu_com7年前Python基础

复制代码 代码如下:

import time

def block(file,size=65536):
    while True:
        nb = file.read(size)
        if not nb:
           break
        yield nb

def getLineCount(filename):
    with open(filename,"r",encoding="utf-8") as f:
        return sum(line.count("\n") for line in block(f))
if __name__ == "__main__":
    import sys
    import os
    if len(sys.argv) != 2:
        print("error imput argument")
        sys.exit(-1)
    if not os.path.isfile(sys.argv[1]) :
       print(sys.argv + " is not a file")
       sys.exit(-1)
    start_time = time.time()
    print(getLineCount(sys.argv[1]))
    print(time.time() - start_time ,"seconds")

相关文章

基于scrapy的redis安装和配置方法

在定向爬虫的制作过程中,使用分布式爬取技术可以显著提高爬取效率。而 Redis 配合 Scrapy 是实现分布式爬取的基础。 Redis 是一个高性能的 Key-Value 数据库,它把...

python使用any判断一个对象是否为空的方法

本文实例讲述了python使用any判断一个对象是否为空的方法。分享给大家供大家参考。 具体实现代码如下: 复制代码 代码如下:>>> eth = {"eth0″:"1...

Python整数对象实现原理详解

Python整数对象实现原理详解

整数对象在Python内部用PyIntObject结构体表示: typedef struct { PyObject_HEAD long ob_ival; } PyIntObject;...

python3编码问题汇总

python3编码问题汇总

这两天写了个监测网页的爬虫,作用是跟踪一个网页的变化,但运行了一晚出现了一个问题。。。。希望大家不吝赐教! 我用的是python3,错误在对html response的decode时抛出...

python pytest进阶之xunit fixture详解

前言 今天我们再说一下pytest框架和unittest框架相同的fixture的使用, 了解unittest的同学应该知道我们在初始化环境和销毁工作时,unittest使用的是set...