第 0007 題:有個目錄,裏面是你自己寫過的程序,統計一下你寫過多少行代碼。包括空行和註釋,但是要分別列出來。
程序如下:
import sys,os,re
def File(path):
list=[]
sum = [0,0,0]
for item in os.listdir(path):
if item.endswith('py'):
list.append(item)
for i in list:
ret=DealFile(path,i)
# print i
print ret
for num in range(3):
# print num
# print ret[num]
sum[num] += ret[num]
return tuple(sum)
def DealFile(path,name):
totalline = 0
blankline = 0
commentline = 0
print path+'/'+name
f = open(path+'/'+name,'r')
line = f.readlines()
totalline = len(line)
for i in line:
comment_pattern = re.compile(r'(\s*)#')
black_pattern = re.compile(r'(\s*)$')
if comment_pattern.match(i):
commentline += 1
if black_pattern.match(i):
blankline += 1
f.close()
return totalline,blankline,commentline
if __name__ == "__main__":
path = r'/root/py'
result = File(path)
dic = dict(zip(['total line','blank line','comment line'],list(result)))
print dic
( 寫於2016年5月5日,http://blog.csdn.net/bzd_111)