練習007

第 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章