|
发表于 2018-6-12 17:18:18
|
显示全部楼层
import easygui as g
import os
file_list=[]
ext_list=('.py','.c','.cpp','.e')
ext_dict=dict()
count_dict=dict()
allcount=0
str1=''
def readfile():
global allcount
for file_line in file_list:
with open(file_line,encoding='gb18030',errors='ignore') as f:
for line in f:
if not line.isspace():
allcount+=1
count_dict.setdefault(os.path.splitext(file_line)[1]+'count',0)
count_dict[os.path.splitext(file_line)[1]+'count']+=1
def findfile(file_dir): #递规文件夹 统计文件个数 并计录所有文件名
dir_list=os.listdir(file_dir)
os.chdir(file_dir)
for file in dir_list:
if file=='System Volume Information':
continue
if os.path.isdir(file):
findfile(file)
os.chdir(os.pardir)
pass
if os.path.isfile(file):
if os.path.splitext(file)[1] in ext_list:
ext_dict.setdefault(os.path.splitext(file)[1],0)
ext_dict[os.path.splitext(file)[1]]+=1
file_list.append(os.getcwd()+os.sep+file)
file_dir=g.diropenbox()
findfile(file_dir)
readfile()
msg='您目前共累积编写了%d行代码,完成进度%.2f%%\n离10万行代码还差%d行,请继续努力'%(allcount,(allcount/100000)*100,100000-allcount)
for i in ext_dict:
str1+='【'+i+'】源文件'+str(ext_dict.get(i))+'个,源代码'+str(count_dict.get(i+'count'))+'行\n'
g.textbox(msg,'统计结果',str1)
|
|