本文介紹基於Python語言,統計資料夾中檔案數量;若其含有子資料夾,還將對各子資料夾中的檔案數量一併進行統計的方法。
最近,需要統計多個資料夾內部的檔案數量,包括其中所含子資料夾中的檔案數量。其中,這多個需要統計檔案數量的資料夾都放在一個總資料夾內。
這一操作基於Python來實現是非常方便、快捷的。話不多說,我們對相關的Python程式碼來進行詳細介紹。
import os
target_path='H:/2020/'
all_content=os.listdir(target_path)
print('All content numbers is',len(all_content))
count_num=1
for content in all_content:
if os.path.isdir(target_path+content):
all_sub_content=os.listdir(target_path+content)
if len(all_sub_content)!=361:
print(count_num,content,'sub content number is',len(all_sub_content))
count_num=count_num+1
可以看到,程式碼是非常非常簡潔的。
首先,target_path
是我們的總資料夾路徑,用os.listdir
來獲取總資料夾下面的全部內容(包括檔案與子資料夾),並列印總資料夾下全部內容的數量(包括檔案與子資料夾數量)。隨後,用if
判斷與isdir
函式來獲取總資料夾下的全部子資料夾,並對子資料夾依次利用同樣的方式來獲取其內部檔案的數量,並列印出來。
其中,上述程式碼的以下部分:
if len(all_sub_content)!=480:
print(count_num,content,'sub content number is',len(all_sub_content))
count_num=count_num+1
是我為了方便,直接對不滿足檔案個數為480
的子資料夾加以篩選,從而只輸出檔案個數非480
的子資料夾名稱;如果大家只是需要對每一個資料夾或子資料夾中的檔案個數加以統計而不需要進行篩選,將這一部分的if
判斷語句去掉就可以啦~
最後,可以看到上述程式碼我是直接將結果列印出來的;如果實際情況中檔案或資料夾數量很多,大家需要將結果輸出到.csv
等Excel檔案中的話,可以直接參考Python TensorFlow深度學習迴歸程式碼:DNNRegressor的2.9部分,這裡就不再贅述啦。