1.代码的运行结果:

  获取 指定文件夹下、指定文件格式 文件的: 总代码行数、总注释行数(需指定注释格式)、总空行数;

 #coding: utf-8
import os, re # 代码所在目录
FILE_PATH = './' def analyze_code(codefilesource):
'''
打开一个py文件,统计其中的代码行数,包括空行和注释
返回含该文件总行数,注释行数,空行数的列表
'''
total_line = 0
comment_line = 0
blank_line = 0 with open(codefilesource) as f:
lines = f.readlines()# ['import aa', 'if main', '']
total_line = len(lines)
line_index = 0 # 遍历每一行
while line_index < total_line:
line = lines[line_index]
# 检查是否为注释
if line.startswith("#"):
comment_line += 1
# 检查是否为空行
elif line == "\n":
blank_line += 1 line_index += 1 print "在%s中:" % codefilesource
print "代码行数:", total_line
print "注释行数:", comment_line, "占%0.2f%%" % (comment_line*100.0/total_line)
print "空行数: ", blank_line, "占%0.2f%%" % (blank_line*100.0/total_line) return [total_line, comment_line, blank_line] def run(FILE_PATH):
# 切换到code所在目录
os.chdir(FILE_PATH)
# 遍历该目录下的py文件
total_lines = 0
total_comment_lines = 0
total_blank_lines = 0 for i in os.listdir(os.getcwd()):
if os.path.splitext(i)[1] == '.py':
line = analyze_code(i)
total_lines, total_comment_lines, total_blank_lines = total_lines + line[0], total_comment_lines + line[1], total_blank_lines + line[2] print "总代码行数:", total_lines
print "总注释行数:", total_comment_lines, "占%0.2f%%" % (total_comment_lines*100.0/total_lines)
print "总空行数: ", total_blank_lines, "占%0.2f%%" % (total_blank_lines*100.0/total_lines) if __name__ == '__main__':
run(FILE_PATH)

python 脚本(获取指定文件夹、指定文件格式、的代码行数、注释行数)的更多相关文章

  1. Python脚本:删除文件夹下的重复图片,实现图片去重

    近期在整理相册的时候,发现相册中有许多重复图片,人工一张张筛查删除太枯燥,便写下这个脚本,用于删除文件夹下重复的图片. 第一部分:判断两张图片是否相同 要查找重复的图片,必然绕不开判断两张图片是否相同 ...

  2. 指定文件夹 指定文件后缀名 删除整个文件夹 git 冲突解决 create a new repository on the command line push an existing repository from the command line

    http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001375840038939c2 ...

  3. Python获取指定文件夹下的文件名

    本文采用os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名. 一.os.walk() 模块os中的walk()函数可以遍历文件夹下所有的文件. os.walk(top, t ...

  4. (Python)导出指定文件夹中as文件的完全限定类名

    AS3程序在编译的过程中,有一个特点是这样的,不管是项目中的类,还是标准库或者第三方库的类,编译的时候只会把用到的那些类文件编译进去,也就是说,某一些类,只要没有被主程序引用到,那这个文件是不会被编译 ...

  5. python批量改动指定文件夹文件名称

    这小样例仅仅要是说明用python怎么批量改动指定文件夹的文件名称: 记得要把脚本跟改动的文件放在同一个文件夹下 #encoding:utf-8 import os import sys files ...

  6. Java获取Linux上指定文件夹下所有第一级子文件夹

    说明:需要只获得第一级文件夹目录 package com.sunsheen.jfids.studio.monitor.utils; import java.io.BufferedReader; imp ...

  7. C#项目打开/保存文件夹/指定类型文件,获取路径

    C#项目打开/保存文件夹/指定类型文件,获取路径 转:http://q1q2q363.xiaoxiang.blog.163.com/blog/static/1106963682011722424325 ...

  8. python 拷贝文件夹下所有的文件到指定文件夹(不包括目录)

    1.随便简单些写了一下.直接粘结代码,只是简单的实现一下,还很多需要完善和扩展的地方,比如忽略掉后缀文件,删除文件 如果排除的某些的话可以用: sourceF.find('.后缀')>0 2.注 ...

  9. VC 获取指定文件夹路径的方法小结

    VC获取指定文件夹路径 flyfish  2010-3-5 一 使用Shell函数 1 获取应用程序的安装路径 TCHAR buf[_MAX_PATH];SHGetSpecialFolderPath( ...

随机推荐

  1. python3-开发进阶Django-form组件中model form组件

    Django的model form组件 这是一个神奇的组件,通过名字我们可以看出来,这个组件的功能就是把model和form组合起来,先来一个简单的例子来看一下这个东西怎么用:比如我们的数据库中有这样 ...

  2. [NOIp2016提高组]换教室

    题目大意: 有n节课,第i节课在c[i]上课,同时d[i]也有一节课d[i]. 你有权利向教务处发出m次申请把自己的教室改到d[i],相应的批准概率是k[i]. 教室是图上的一些点,其中每条边都有边权 ...

  3. Don't know how to define struct flock on this system, set --enable-opcach=no

    解决方法一: 最后查看php官方文档解决. 在configure 里面加上   --with-libdir=lib64 解决方法二: 编辑/etc/ld.so.conf 根据系统,加入include ...

  4. BZOJ 4028: [HEOI2015]公约数数列 分块

    4028: [HEOI2015]公约数数列 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=4028 Description 设计一个数据结 ...

  5. JavaScript基础入门教程(二)

    说明 前一篇博客介绍了js以及一些关于js基本类型的简单知识,本篇博客将详细介绍js的基础类型,捎带介绍对象类型,更详细的对象类型的说明将后续再讲. js中类型的说明 js中的类型分为基本类型和对象类 ...

  6. 【项目 部署】部署项目web context root,项目跟路径跟项目实际名称不符

    项目如下: 但是部署到 tomcat下后,tomcat中项目根目录变成: 并且项目启动起来之后, 解决方法: 发现此处 不能更改,然后 在workspace下找到本项目,定位到.setting文件夹下 ...

  7. 利用pca分析fmri的生理噪声

    A kernel machine-based fMRI physiological noise removal method 关于,fmri研究中,生理噪声去除的价值:一.现在随着技术的提升,高场fm ...

  8. [Eclipse插件] Eclipse中如何安装和使用GrepCode插件

    Java是开源的世界,如何快速的搜索到你需要的Java源码呢?2009年7月17日,GrepCode团队发布了一个有趣的 Java源码搜索引擎-GrepCode .与现有的各种搜索引擎相比,Java源 ...

  9. mysql-operator 尝试与研究

    安装指南 先下载到本地 git clone https://github.com/kubernetes/charts.git 安装helm 参考: http://www.cnblogs.com/eri ...

  10. docker是PaaS,与openstack是IaaS的关系

    个人理解Docker的每一个虚机其实是宿主操作系统中的一个进程.主要是一种虚拟化技术.OpenStack主要解决的是基础架构云的云服务问题.OpenStack是在虚拟化技术之上的一层,主要解决系统部署 ...