python 脚本(获取指定文件夹、指定文件格式、的代码行数、注释行数)
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 脚本(获取指定文件夹、指定文件格式、的代码行数、注释行数)的更多相关文章
- Python脚本:删除文件夹下的重复图片,实现图片去重
近期在整理相册的时候,发现相册中有许多重复图片,人工一张张筛查删除太枯燥,便写下这个脚本,用于删除文件夹下重复的图片. 第一部分:判断两张图片是否相同 要查找重复的图片,必然绕不开判断两张图片是否相同 ...
- 指定文件夹 指定文件后缀名 删除整个文件夹 git 冲突解决 create a new repository on the command line push an existing repository from the command line
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001375840038939c2 ...
- Python获取指定文件夹下的文件名
本文采用os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名. 一.os.walk() 模块os中的walk()函数可以遍历文件夹下所有的文件. os.walk(top, t ...
- (Python)导出指定文件夹中as文件的完全限定类名
AS3程序在编译的过程中,有一个特点是这样的,不管是项目中的类,还是标准库或者第三方库的类,编译的时候只会把用到的那些类文件编译进去,也就是说,某一些类,只要没有被主程序引用到,那这个文件是不会被编译 ...
- python批量改动指定文件夹文件名称
这小样例仅仅要是说明用python怎么批量改动指定文件夹的文件名称: 记得要把脚本跟改动的文件放在同一个文件夹下 #encoding:utf-8 import os import sys files ...
- Java获取Linux上指定文件夹下所有第一级子文件夹
说明:需要只获得第一级文件夹目录 package com.sunsheen.jfids.studio.monitor.utils; import java.io.BufferedReader; imp ...
- C#项目打开/保存文件夹/指定类型文件,获取路径
C#项目打开/保存文件夹/指定类型文件,获取路径 转:http://q1q2q363.xiaoxiang.blog.163.com/blog/static/1106963682011722424325 ...
- python 拷贝文件夹下所有的文件到指定文件夹(不包括目录)
1.随便简单些写了一下.直接粘结代码,只是简单的实现一下,还很多需要完善和扩展的地方,比如忽略掉后缀文件,删除文件 如果排除的某些的话可以用: sourceF.find('.后缀')>0 2.注 ...
- VC 获取指定文件夹路径的方法小结
VC获取指定文件夹路径 flyfish 2010-3-5 一 使用Shell函数 1 获取应用程序的安装路径 TCHAR buf[_MAX_PATH];SHGetSpecialFolderPath( ...
随机推荐
- MySQL InnoDB引擎锁的总结
为什么要锁 我们开的的各式各样系统中,系统运行需要CPU.内存.I/O.磁盘等等资源.但除了硬资源外,还有最为重要的软资源:数据. 当人们访问操作我们的系统时,其实归根是对数据的查看与生产.那么对于同 ...
- PHP与Web页面的交互
1.form表单默认情况下提交数据的方式为get方式. 2.PHP脚本用来处理表单数据的预定义变量是$_GET,$_POST(区分大小写) 代码示例:(特别注意复选框属性name的时候加数组) sim ...
- 移动应用安全开发指南(Android)--数据传输
概述 移动应用很多时候并非孤立存在,在多数场景下存在前.后台以及第三方服务之间进行数据交互,因此,在网络中传输敏感数据在所难免,如果不使用正确安全的传输方式,有可能存在敏感信息泄漏的风险. 安全准则 ...
- NServiceBus入门:多个endpoint(Introduction to NServiceBus: Multiple endpoints)
原文地址:https://docs.particular.net/tutorials/intro-to-nservicebus/3-multiple-endpoints/ 侵删. 目前为止,我们只是在 ...
- What happens when a SQL Query runs?
Posted by Padma Chitturi in Uncategorized. Leave a Comment Hi Folks, It has been such a long time th ...
- [Bug]The test form is only available for requests from the local machine.
引言 当您尝试从远程计算机访问 Web 服务时,不会显示“调用”按钮.并且,您会收到以下错误信息: The test form is only available for requests from ...
- linux 端口占用查看 netstat -tunpl | grep 6379
端口占用查看 netstat -tunpl | grep 6379 netstat -luntpu|grep fdfs
- 某游戏研究之字符过滤类-WorldFilter
所谓字符过滤器,常常用在聊天的内容,比如一连串的骂人难听的话,我们要屏蔽掉,避免造成不好的东西! 当然我作为中华天朝一个有文明有素质的人,肯定偶尔会做这样的事情啦,特别是打LOL的时候,算了不讲了,都 ...
- DB2数据库性能调整和优化(第2版)
<DB2数据库性能调整和优化(第2版)> 基本信息 作者: 牛新庄 出版社:清华大学出版社 ISBN:9787302325260 上架时间:2013-7-3 出版日期:2013 年7月 开 ...
- C语言void关键字的深刻含义
C语言void关键字的深刻含义 .概述 本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧. .void的含义 void的字面意思是“无类型”,void *则为 ...