Python脚本实现代码行数统计代码分享

 更新时间:2015年03月10日 10:06:04   投稿:junjie  
这篇文章主要介绍了Python脚本实现代码行数统计代码分享,本文给出了实现代码和使用方法及统计效果,需要的朋友可以参考下

之前用bash实现过(https://www.jb51.net/article/61943.htm),不过那个不能在windows下使用,所以就写了个python版,也方便我以后使用……这里就不多介绍了,不懂的google下。

实现代码

复制代码 代码如下:

#!/usr/bin/python

'''
        File      : count.py
        Author    : Mike
        E-Mail    : Mike_Zhang@live.com
'''
import sys,os

extens = [".c",".cpp",".hpp",".h"]
linesCount = 0
filesCount = 0

def funCount(dirName):
    global extens,linesCount,filesCount
    for root,dirs,fileNames in os.walk(dirName):
        for f in fileNames:
            fname = os.path.join(root,f)
            try :
                ext = f[f.rindex('.'):]
                if(extens.count(ext) > 0):
                    print 'support'
                    filesCount += 1
                    print fname
                    l_count = len(open(fname).readlines())
                    print fname," : ",l_count
                    linesCount += l_count
                else:
                    print ext," : not support"
            except:
                print "Error occur!"
                pass


if len(sys.argv) > 1 :
    for m_dir in sys.argv[1:]:       
        print m_dir
        funCount(m_dir)
else :
    funCount(".")       
   
print "files count : ",filesCount
print "lines count : ",linesCount

raw_input("Press Enter to continue")

使用方法
1、针对本目录

复制代码 代码如下:

./count.py

2、统计多个目录
复制代码 代码如下:

./count.py /tmp ~

运行效果

好,就这些了,希望对你有帮助。

相关文章

  • TensorFlow实现Batch Normalization

    TensorFlow实现Batch Normalization

    这篇文章主要为大家详细介绍了TensorFlow实现Batch Normalization,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • 简单学习Python多进程Multiprocessing

    简单学习Python多进程Multiprocessing

    这篇文章主要和大家一起简单的学习Python多进程Multiprocessing ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • 利用Python将每日一句定时推送至微信的实现方法

    利用Python将每日一句定时推送至微信的实现方法

    这篇文章主要给大家介绍了关于利用Python将每日一句定时推送至微信的实现方法,文中通过示例代码将实现的步骤一步步介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-08-08
  • 浅谈JupyterNotebook导出pdf解决中文的问题

    浅谈JupyterNotebook导出pdf解决中文的问题

    这篇文章主要介绍了浅谈JupyterNotebook导出pdf解决中文的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Python利用pandas和matplotlib实现绘制堆叠柱状图

    Python利用pandas和matplotlib实现绘制堆叠柱状图

    在数据可视化中,堆叠柱状图是一种常用的图表类型,它能够清晰地展示多个类别的数据,本文将演示如何使用 Python 的 pandas 和 matplotlib 库绘制优化的堆叠柱状图,需要的可以参考下
    2023-11-11
  • python封装json格式字符串并处理单双引号问题

    python封装json格式字符串并处理单双引号问题

    大家好,本篇文章主要讲的是python封装json格式字符串并处理单双引号问题,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • python数据库编程 ODBC方式实现通讯录

    python数据库编程 ODBC方式实现通讯录

    这篇文章主要为大家详细介绍了python数据库编程,ODBC方式实现通讯录,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • Python迭代器和生成器定义与用法示例

    Python迭代器和生成器定义与用法示例

    这篇文章主要介绍了Python迭代器和生成器定义与用法,结合实例形式详细分析了Python迭代器和生成器的概念、原理、定义、使用方法及相关操作注意事项,需要的朋友可以参考下
    2018-02-02
  • python自动化测试之异常及日志操作实例分析

    python自动化测试之异常及日志操作实例分析

    这篇文章主要介绍了python自动化测试之异常及日志操作,结合实例形式分析了python自动化测试中的异常捕获与日志记录相关操作技巧,需要的朋友可以参考下
    2019-11-11
  • python3 traceback模块来追踪和打印异常信息

    python3 traceback模块来追踪和打印异常信息

    本文主要介绍了python3 traceback模块来追踪和打印异常信息,这个模块提供了许多函数来处理异常,并且能够输出异常的堆栈信息,感兴趣的可以了解一下
    2024-02-02

最新评论