十萬代碼,十萬年薪!看看學習了這么久的你到底敲了多少代碼吧!

這次我們運用到的是python 的os庫
所謂os庫就是Python標準庫,包含幾百個函式分為路徑操作、行程管理、環境引數等幾類,而我們今天要運用到的只是os.path子庫,
在代碼中我們要用到的幾個函式分別是 :
os.path.isdir<來判斷是否是檔案夾>
os.listdir<來列出檔案夾中的檔案>
os.path.join<來拼接路徑>
首先我們需要匯入我們的os庫
import os
由于我們要打開一個一個的檔案夾,所以我采取的是遞推,首先我們創建一個記錄我們代碼行數的代碼并定義一個全域變數用來統計我們的行數
def CountFileLines(path):
global count
在剛開始我們要判斷我們檔案是否是檔案夾:如果是,我們則列出檔案并進行遞回
if (os.path.isdir(path)):
a = os.listdir(path)
for i in a:
path1 = os.path.join(path,i)
CountFileLines(path1)
那么如果是檔案的話我們就要判斷是否是以.py(我這里統計的是python的代碼,如果統計別的語言請自行更改后綴),并且如果是py結尾的話我們就讀取它的每一行直到結束
elif path.endswith(".py"):
count-=1 #設定count-1的原因是因為我這個判斷會讓每個代碼的最后一個空行記入
with open(path,encoding="utf-8") as f:
while(True):
line = f.readline()
count+=1
if not line:
break
在最后我們回傳count 的值:
return count
大功告成!
最后附上完整代碼:
import os
count = 0
def CountFileLines(path):
global count
if (os.path.isdir(path)):
a = os.listdir(path)
for i in a:
path1 = os.path.join(path,i)
CountFileLines(path1)
elif path.endswith(".py"):
count-=1
with open(path,encoding="utf-8") as f: #這里的編碼改為UTF-8(不然他好像默認GBK打不開)
while(True):
line = f.readline()
count+=1
if not line:
break
return count
path = r'你想要計算代碼的路徑' #前面加上r 的作用是讓計算機知道是一個路徑資訊
print(CountFileLines(path))
最后希望各位程式員們在打代碼的時候注意身體,尤其是疫情期間,我就因為身體原因就在學校被隔離了

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/195785.html
標籤:其他
