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

1.代码的运行结果:

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

 1 #coding: utf-8
 2 import os, re
 3
 4 # 代码所在目录
 5 FILE_PATH = ‘./‘
 6
 7 def analyze_code(codefilesource):
 8     ‘‘‘
 9         打开一个py文件,统计其中的代码行数,包括空行和注释
10         返回含该文件总行数,注释行数,空行数的列表
11     ‘‘‘
12     total_line = 0
13     comment_line = 0
14     blank_line = 0
15
16     with open(codefilesource) as f:
17         lines = f.readlines()#  [‘import aa‘, ‘if main‘, ‘‘]
18         total_line = len(lines)
19         line_index = 0
20
21         # 遍历每一行
22         while line_index < total_line:
23             line = lines[line_index]
24             # 检查是否为注释
25             if line.startswith("#"):
26                 comment_line += 1
27             # 检查是否为空行
28             elif line == "\n":
29                 blank_line += 1
30
31             line_index += 1
32
33     print "在%s中:" % codefilesource
34     print "代码行数:", total_line
35     print "注释行数:", comment_line, "占%0.2f%%" % (comment_line*100.0/total_line)
36     print "空行数:  ", blank_line, "占%0.2f%%" % (blank_line*100.0/total_line)
37
38     return [total_line, comment_line, blank_line]
39
40
41 def run(FILE_PATH):
42     # 切换到code所在目录
43     os.chdir(FILE_PATH)
44     # 遍历该目录下的py文件
45     total_lines = 0
46     total_comment_lines = 0
47     total_blank_lines = 0
48
49     for i in os.listdir(os.getcwd()):
50         if os.path.splitext(i)[1] == ‘.py‘:
51             line = analyze_code(i)
52             total_lines, total_comment_lines, total_blank_lines = total_lines + line[0], total_comment_lines + line[1], total_blank_lines + line[2]
53
54     print "总代码行数:", total_lines
55     print "总注释行数:", total_comment_lines, "占%0.2f%%" % (total_comment_lines*100.0/total_lines)
56     print "总空行数:  ", total_blank_lines, "占%0.2f%%" % (total_blank_lines*100.0/total_lines)
57
58
59 if __name__ == ‘__main__‘:
60     run(FILE_PATH)
时间: 2024-08-24 02:09:06

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

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

这小样例仅仅要是说明用python怎么批量改动指定文件夹的文件名称: 记得要把脚本跟改动的文件放在同一个文件夹下 #encoding:utf-8 import os import sys files = os.listdir('D:\\1') #路径能够自己 for name in files: a = os.path.splitext(name) if a[1] == '.txt': #txt能够自己手动改动成你想改的文件名称 newname = a[0]+'.py' #.py也是能够改动 p

Python批量删除指定文件夹下的指定类型的文件

Python作为一种脚本语言,其非常适合文件级的各种操作.下面的代码可以批量删除指定文件夹下的全部特定类型(CSV类型)的文件. import sys, csv , operator import os import glob for i in range(0, 20): path = "C:\\Python34\\Folder_" + str(i) for infile in glob.glob( os.path.join(path, '*.csv') ): os.remove(in

批处理脚本遍历指定文件夹下的文件

批处理脚本 1. 遍历指定文件夹下的文件 1.1 命令解释 命令: for [参数] %%变量名 in (匹配符) do (执行的命令) 切记:每个指令之间必须以空格隔开,in 与 ( 之间有空格,do 与 ( 间也有空格,否则命令会无法成功执行 ps:本节只讲用批处理脚本执行 for 命令遍历文件夹的场景,因此以下分析每个指令意义时,不介绍其他含义 []:表示此项指令为可选 [参数]:参数取值一共有四种: /d, /r, /l, /f,加上无参数,所以一共五种场景 无参:遍历当前路径的文件夹下

Python扫描指定文件夹下(包含子文件夹)的文件

扫描指定文件夹下的文件.或者匹配指定后缀和前缀的函数. 假设要扫描指定文件夹下的文件,包含子文件夹,调用scan_files("/export/home/test/") 假设要扫描指定文件夹下的特定后缀的文件(比方jar包),包含子文件夹,调用scan_files("/export/home/test/", postfix=".jar") 假设要扫描指定文件夹下的特定前缀的文件(比方test_xxx.py).包含子文件夹,调用scan_files

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

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

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

C#项目打开/保存文件夹/指定类型文件,获取路径 转:http://q1q2q363.xiaoxiang.blog.163.com/blog/static/1106963682011722424325/ 1.打开文件路径:                  OpenFileDialog ofd = new OpenFileDialog();                //new一个方法            ofd.Filter = "(*.et;*.xls;*.xlsx)|*.et;*.x

python删除指定文件夹下文件和文件夹的方法

前记 ? python删除指定文件夹下的文件,是一个常用的功能.我找了不少地方,一直没有找到合适的模版,那只好自己倒腾一个比较实用的模版了. 基本模块 ? 这里面会用到几个模块,一个是??目录下所有文件的的函数:listdir 常用的使用方法: import os filenames = os.listdir('.') print(filenames) 另外一个就是查看该目录下是否有特定的文件,这个就是name.swith()函数,具体的使用方法如下: state = any(name.ends

JavaSE8基础 File list 获取指定文件夹下的第一层文件和文件夹的名字

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0) information: 被查看文件夹中的内容截图. code: package jizuiku0; import java.io.File; /* * @version V17.09 */ public class GetName { public static void main(String[] args) { String

WPF获取读取电脑指定文件夹中的指定文件的地址

1 //保存指定文件夹中的指定文件的地址 2 3 string List<string> mListUri = new List<string>(); 4 5 //文件夹地址 6 7 string folderName = Environment.CurrentDirectory; 8 9 /// <summary> 10 /// 读取文件夹中指定文件 11 /// </summary> 12 public void LoadAllFile() 13 { 1