使用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")

相关文章

Python pickle模块用法实例

python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作,...

ipython和python区别详解

ipython和python区别详解

ipython介绍 IPython 是一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell命令,内...

18个Python脚本可加速你的编码速度(提示和技巧)

在本文中,我们向您介绍一些提示和技巧,以帮助您更快地编写代码 Python的可读性和设计简单性是其广受欢迎的两个主要原因。 一些常见的Python技巧可以帮助你提高编码速度。在您的日常编...

完美解决Python 2.7不能正常使用pip install的问题

主要原因是用户目录编码使用了中文,解决方法如下: pip安装python包会加载我的用户目录,我的用户目录恰好是中文的,ascii不能编码。 解决办法是: python目录 Pytho...

基于Django ORM、一对一、一对多、多对多的全面讲解

上篇博客也提到这些知识点,可能大家还是不太清楚,这篇博客为大家详细讲解ORM中的几个知识点 1.1首先我们先看一个小案例: #_*_coding:utf-8_*_ from djan...