1. 程式人生 > >基於py3的程式碼行數統計工具(簡易版)

基於py3的程式碼行數統計工具(簡易版)

#encoding = utf-8 import os

def get_python_file_abspath(dirpath,all_files = []):     '''獲取指定資料夾下python檔名'''     #先判斷指定的路徑是檔案還是目錄     if os.path.isdir(dirpath):#是目錄,而且此目錄存在         files = os.listdir(dirpath)#列出此目錄下所有的子檔案和子目錄         for file in files:             file_path = os.path.join(dirpath, file)#絕對路徑拼接             get_python_file_abspath(file_path)#不加return,否則all_files中只會有一個元素

    elif os.path.isfile(dirpath) and os.path.splitext(dirpath)[1] == '.py':#檔案存在         all_files.append(dirpath)       return all_files     

def get_file_code_lines(filename):     '''統計輸入的檔案中有效的程式碼行數'''     code_lines = 0     with open(filename,encoding = 'ISO-8859-1') as fp:         lines = fp.readlines() #讀取所有的內容放到列表中 ##        print(len(lines))         for line in lines:             line = line.strip()             if line and line[:3]!="'''" and line[0]!='#':#過濾掉註釋                 code_lines +=1     return code_lines

     if __name__=='__main__':     filename = r'F:\'     result = 0     for file in get_python_file_abspath(filename):         num = get_file_code_lines(file)         print('%s檔案中有效程式碼行數為:%d'%(file,num))         result += num     print('*'*40)     print('%s目錄下所有檔案的有效程式碼行數為:%d'%(filename,result))     print('*'*40)