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):
# # 打開(kāi)這個(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
# 多行注釋開(kāi)頭
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:
# 獲取文件及文件夾的絕對(duì)路徑
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
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(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ù)簡(jiǎn)單實(shí)例
- Python實(shí)現(xiàn)代碼統(tǒng)計(jì)工具
相關(guān)文章
Python Unittest自動(dòng)化單元測(cè)試框架詳解
這篇文章主要為大家詳細(xì)介紹了Python Unittest自動(dòng)化單元測(cè)試框架的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
python中實(shí)現(xiàn)延時(shí)回調(diào)普通函數(shù)示例代碼
這篇文章主要給大家介紹了關(guān)于python中實(shí)現(xiàn)延時(shí)回調(diào)普通函數(shù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09
Python中使用HTMLParser解析html實(shí)例
這篇文章主要介紹了Python中使用HTMLParser解析html實(shí)例,本文直接給出使用示例,并總結(jié)出HTMLParser含有的方法分為兩類(lèi),一類(lèi)是需要顯式調(diào)用的,而另一類(lèi)不需顯示調(diào)用,需要的朋友可以參考下2015-02-02
Python中常見(jiàn)的內(nèi)置函數(shù)使用講解
Python作為一種強(qiáng)大的編程語(yǔ)言,提供了豐富的內(nèi)置函數(shù),用于各種常見(jiàn)操作,本文將詳細(xì)介紹Python中常見(jiàn)的內(nèi)置函數(shù)的用法,需要的可以參考下2023-08-08
Python實(shí)現(xiàn)Kmeans聚類(lèi)算法
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)Kmeans聚類(lèi)算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02
Python 實(shí)現(xiàn)數(shù)據(jù)庫(kù)更新腳本的生成方法
下面小編就為大家?guī)?lái)一篇Python 實(shí)現(xiàn)數(shù)據(jù)庫(kù)更新腳本的生成方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07
解決pytorch 損失函數(shù)中輸入輸出不匹配的問(wèn)題
這篇文章主要介紹了解決pytorch 損失函數(shù)中輸入輸出不匹配的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
Python流程控制 while循環(huán)實(shí)現(xiàn)解析
這篇文章主要介紹了Python流程控制 while循環(huán)實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09

