python實(shí)現(xiàn)代碼統(tǒng)計(jì)器
本文實(shí)例為大家分享了python中的代碼行數(shù)統(tǒng)計(jì),供大家參考,具體內(nèi)容如下
思路:統(tǒng)計(jì)文件中代碼的總行數(shù)減去空行單行注釋以及多行注釋
功能:
1.獲取文件內(nèi)容的總行數(shù)
2.排除空行 單行注釋 多行注釋
def code_statistics(path): # # 打開這個(gè)文件 with open(path, 'r', encoding='utf-8') as openFile: # 按列讀取 fileline = openFile.readlines() # 給非代碼行一個(gè)變量 i = 0 # 整個(gè)文件里面內(nèi)容的總行數(shù) number_line = len(fileline) # 給多行注釋一個(gè)狀態(tài) note = False # 遍歷文件內(nèi)容 for line in fileline: # 空行 if line == '\n': i += 1 # 單行注釋 elif re.findall('[#]', line): i += 1 # 多行注釋開頭 elif re.findall("\'\'\'", line) and note == False: i += 1 note = True # 多行注釋結(jié)尾 elif re.findall("\'\'\'", line) and note == True: i += 1 note = False # 多行注釋內(nèi)部注釋 elif note: i += 1 num_code_line = number_line - i print(num_code_line)
如果統(tǒng)計(jì)文件夾中的python文件的代碼行數(shù),首先就是要遍歷文件目錄,篩選出以.py結(jié)尾的文件,再去統(tǒng)計(jì)py文件里面的代碼行數(shù)
def get_all_fire(path): # 得到當(dāng)前目錄下的所有文件 file_list = os.listdir(path) py_file_abs = [] # 遍歷所有文件 for file_name in file_list: # 獲取文件及文件夾的絕對路徑 file_abs = os.path.join(path, file_name) if os.path.isfile(file_abs) and file_name.endswith('.py'): # 判斷當(dāng)前文件路徑是否是文件和.py文件 py_file_abs.append(file_abs) # 判斷當(dāng)前文件路徑是不是文件夾 elif os.path.isdir(file_abs): py_file_abs += get_all_fire(file_abs) return py_file_abs
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python實(shí)現(xiàn)統(tǒng)計(jì)代碼行數(shù)的小工具
- python統(tǒng)計(jì)指定目錄內(nèi)文件的代碼行數(shù)
- python實(shí)現(xiàn)代碼統(tǒng)計(jì)程序
- python tkinter圖形界面代碼統(tǒng)計(jì)工具(更新)
- python3使用GUI統(tǒng)計(jì)代碼量
- python tkinter圖形界面代碼統(tǒng)計(jì)工具
- 使用Python設(shè)計(jì)一個(gè)代碼統(tǒng)計(jì)工具
- Python實(shí)現(xiàn)統(tǒng)計(jì)代碼行的方法分析
- python 統(tǒng)計(jì)代碼行數(shù)簡單實(shí)例
- Python實(shí)現(xiàn)代碼統(tǒng)計(jì)工具
相關(guān)文章
python抓取豆瓣圖片并自動保存示例學(xué)習(xí)
python抓取豆瓣圖片并自動保存示例學(xué)習(xí),示例使用了beautifulsoup庫分析HTML代碼,beautifulsoup是一個(gè)HTML/XML解析器,可以用來做網(wǎng)頁爬蟲2014-01-01pytorch中retain_graph==True的作用說明
這篇文章主要介紹了pytorch中retain_graph==True的作用說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02Python編程中實(shí)現(xiàn)迭代器的一些技巧小結(jié)
只談迭代器的話在Python中只是一個(gè)泛指的概念,具體的可以用yield、生成器表達(dá)式、iter等多種方式來構(gòu)建,這里我們整理了Python編程中實(shí)現(xiàn)迭代器的一些技巧小結(jié):2016-06-06tensorflow轉(zhuǎn)onnx的實(shí)現(xiàn)方法
本文主要介紹了tensorflow轉(zhuǎn)onnx的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03pyqt6實(shí)現(xiàn)QTimer定時(shí)器介紹和使用場景
PyQt6中的QTimer是一個(gè)定時(shí)器類,用于在指定的時(shí)間間隔內(nèi)執(zhí)行某個(gè)操作,本文主要介紹了pyqt6實(shí)現(xiàn)QTimer定時(shí)器介紹和使用場景,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02詳解pandas中缺失數(shù)據(jù)處理的函數(shù)
這篇文章主要為大家詳細(xì)介紹一下pandas中處理缺失數(shù)據(jù)的一些函數(shù),文中具體講解了一下各個(gè)函數(shù)的使用,需要的可以參考一下2022-01-01Django高級編程之自定義Field實(shí)現(xiàn)多語言
這篇文章主要介紹了Django高級編程之自定義Field實(shí)現(xiàn)多語言,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Python和JavaScript間代碼轉(zhuǎn)換的4個(gè)工具
JavaScript 已經(jīng)成為眾多其它編程語言爭相選擇的轉(zhuǎn)換目標(biāo)(相關(guān)實(shí)例包括 TypeScript、Emscripten、Cor 以及 Cheerp)。而 Python 則擁有龐大的追隨者群體,另外現(xiàn)有的強(qiáng)大庫資源則使其成為面向 JavaScript 的理想待轉(zhuǎn)換或者說轉(zhuǎn)譯選項(xiàng)2016-02-02