我試圖做一個nagios檢查來計算在給定的目錄下的任何子目錄名稱「失敗」中的文件數量,然後檢查max_files閾值。這有點像在bash中做類似for i in `find . -type d -name failed`; do echo $; ls |wc -l $i; done
的事情。 (努力學習,而不是回落到bash的更多Python的。是的,這命令不會書面工作,只是張貼說明原因。)Python:在特定命名的子目錄中計數文件
我拼湊起來的這種方法,實際上我想要做什麼它,但我似乎無法擺脫它產生的所有冗餘輸出。我試過重新排序for循環,但無濟於事。所以我顯然錯過了一些超級簡單的東西。
import os, fnmatch
def count_files_in_subd():
for root, dirs, files in os.walk("."):
print "{} in {}".format(len(files), root)
for dirname in fnmatch.filter(dirs, 'failed'):
print "{} in {}".format(len(files), root)
count_files_in_subd()
這一切之前,我開始做比較文件計數threshholds,但我卡在這部分似乎並不能敲鬆需要繼續思考。
什麼是你想要的輸出? –
我正在尋找的線沿線的東西: ''/路徑/到/ DIR:4 files'' ''/路徑/到/ anotherdir:0 files'' 等 可以像也很簡單,就像''dirName 4''一樣。我不需要任何細節。 (原諒奇怪的格式和編輯,我在這裏是新的。) – MagicToaster