用于统计项目中代码总行数的Python脚本分享

yipeiwu_com7年前Python基础

最近需要统计一下项目中代码的总行数,写了一个Python小程序,不得不说Python是多么的简洁,如果用Java写至少是现在代码的2倍。
[code]
import os
path="/Users/rony/workspace/ecommerce/ecommerce/hot-deploy/"
global totalcount
totalcount =0
def cfile (path):
    allfiles = os.listdir(path)
    for file in allfiles:
        child = os.path.join(path,file)
        if os.path.isdir(child):
            cfile(child)
        else:
            filename,fileext= os.path.splitext(child)
            print(fileext)
            #file type need to calculate
            if fileext in ['.java', '.jsp', '.html', '.htm', '.xml', '.sql', '.js', '.ftl', '.css','.groovy'] :
                countf = len(open(child,'rU').readlines())
                global totalcount
                totalcount=totalcount+countf;
                print(child)
                print(countf)
cfile(path)
print(totalcount)

关于代码上的分析就到这里,例子比较简单。

相关文章

python3解析库lxml的安装与基本使用

前言 在爬虫的学习中,我们爬取网页信息之后就是对信息项匹配,这个时候一般是使用正则。但是在使用中发现正则写的不好的时候不能精确匹配(这其实是自己的问题!)所以就找啊找。想到了可以通过标签...

简单介绍Python的Django框架加载模版的方式

一般说来,你会把模板以文件的方式存储在文件系统中,但是你也可以使用自定义的 template loaders 从其他来源加载模板。 Django有两种方法加载模板  &n...

Python中使用支持向量机SVM实践

在机器学习领域,支持向量机SVM(Support Vector Machine)是一个有监督的学习模型,通常用来进行模式识别、分类(异常值检测)以及回归分析。 其具有以下特征: &nbs...

基于Python的ModbusTCP客户端实现详解

基于Python的ModbusTCP客户端实现详解

前言 Modbus协议是由Modicon公司(现在的施耐德电气Schneider Electric)推出,主要建立在物理串口、以太网TCP/IP层之上,目前已经成为工业领域通信协议的业界...

python实现rest请求api示例

该代码参考新浪python api,适用于各个开源api请求 复制代码 代码如下:# -*- coding: utf-8 -*-import collectionsimport gzip...