Python 基础实战 -- 统计代码量

Posted 欧晨曦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 基础实战 -- 统计代码量相关的知识,希望对你有一定的参考价值。

 1 import os
 2 import easygui as g
 3 
 4 def StatisticeCodeLine(dir_name):
 5     file_dict = {".py":[0,0],".c":[0,0],".cpp":[0,0],".pas":[0,0],".asm":[0,0]}
 6     all_child_dir = os.walk(dir_name)
 7     
 8     for item in all_child_dir:
 9         for file in item[2]:
10             file_name,file_extension = os.path.splitext(file)
11             if file_extension in file_dict:
12                 file_dict[file_extension][0] += 1
13 
14             #------------------------------------------------------------
15                 with open(os.path.join(item[0],file),"r",encoding=utf-8) as f:
16                     for i in f:
17                         file_dict[file_extension][1] += 1
18             #------------------------------------------------------------
19                 
20             else:
21                 pass
22        
23     return file_dict
24 
25 
26 dir_name = g.diropenbox() #这里其实是一个获取需要递归的目录,在目录里找
27 file_dict = StatisticeCodeLine(dir_name)
28 total_line_count = 0
29 detail = ""
30 for key,value in file_dict.items():
31     total_line_count += value[1]
32     detail += str(key) + "源文件" + str(value[0]) + "个,源代码" + str(value[1])+"行\n"
33 
34 total_line_count = "您目前累积编写了{0}行代码,完成度{1}%\n离10万行代码还差{2}行,请继续努力!".format(total_line_count,total_line_count / 1000,100000-total_line_count)
35 
36 g.textbox(total_line_count,"统计结果",text=detail) #其实你想的话这里也可以用print替代

 

以上是关于Python 基础实战 -- 统计代码量的主要内容,如果未能解决你的问题,请参考以下文章

个人作业4——alpha阶段个人总结

python之基础篇——模块与包

伤腰的Python爬虫案例,零基础必备实战教程

R语言基础与Seer 数据库挖掘精品实战会议(8.1-2 网络精讲班)

Python核心技术与实战——七|自定义函数

机械故障诊断信号幅域分析- 时域统计特征 | 基于python代码实现,在CWRU和IMF轴承数据及上实战