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替代
时间: 2024-10-22 06:38:05

Python 基础实战 -- 统计代码量的相关文章

统计代码量的小程序

比较简陋的统计代码的小工具,  根据自己的需求改改吧. import java.awt.EventQueue; import java.awt.Font; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOExcept

window7下statsvn统计代码量

下载statsvn:http://www.statsvn.org/ 将下载后的statsvn.jar放到d:\svn目录下; 打开cmd窗口切换到需要统计代码的项目目录如:d:\project\web\WebRoot 运行命令: svn log -r {2015-3-1}:{2015-4-1} -v --xml >svn.log 查看在当前目录下是否生成了svn日志svn.log,然后切换到d:\svn目录下运行下条命令: java -jar statsvn.jar d:\project\Web

001 python基础实战

报名了阿里大学的AI,一直没有学习,今天开始正式学习. 今天是第一节,Python的基础编程实战,里面包含两个示例. 一:任务实现文件的批量重命名. 1.创建一个目录 2.程序 1 #!/usr/bin/python 2 #-*- coding:UTF-8 -*- 3 import os 4 def remove_ad_text(dir2,text): 5 """ 6 用来删除特定广告文本的函数 7 该函数会检索指定根目录下的所有文件和目录,并递归,使得所有的广告词都删除 8

VS2013 统计代码量(使用正则表达式)

年尾了,需要统计一下今年各个项目的工作量,统计一下各个项目的代码行数: 具体操作步骤如下: 1.选中解决方案,快捷键:Ctrl+Shift+F,打开搜索框,在查找内容中输入正则表达式:"b*[^:b#/]+.*$",查找选项中选中使用正则表达式,查找范围为整个解决方案,如图: 2.点击查找全部: 3.代码行数就出来了.

Python基础--实战二:封装配置文件

我们平时的方法调用中,有需要用到配置文件的地方,每次取出配置值都非常麻烦,我们今天封装一个获取配置文件的方法,方便各个模块的引用 一.文件格式 [default]excel_path=../dat/case_01.xlsx[infologs]log_path=../config/info_logs.txt[errorlogs]log_path=../config/error_logs.txt二.概述1.读取,ini文件的时候,首先要导入 configparser 包2.下面我们简单的介绍一下基本

windows下统计代码量

windows 工具 1.exe程序 http://blog.csdn.net/hui1502/article/details/51191678 https://sourceforge.net/projects/cloc/?source=typ_redirect 2.inetelj  idea 的 statics插件

Python 基础实战 -- 小游戏之猜数字

1 import random 2 3 secret = random.randint(1,10) #随机一个数字作为答案 4 value = secret + random.randint(100,1000) #随便给一个值,防止重复 5 count = 3 #剩余游戏次数 6 while not secret == value: 7 count -= 1 8 try: 9 temp = input("请输入一个数值:") 10 if not temp.isdigit() or te

统计代码量

git log --since="2017-03-01" --before="2019-12-10" --author="$(git config --get matengfei)" --pretty=tformat: --numstat | gawk '{ add += $1 ; subs += $2 ; loc += $1 - $2 } END { printf "added lines: %s removed lines : %s

代码量简单统计

代码量简单统计 def count_code(file_path): # 单文件代码统计 count=0 tag=False with open(file_path, 'r', encoding='utf-8') as f: for line in f: if tag and line.startswith('"""') or line.startswith("'''"): tag=False if tag and not line.startswith(