特定のディレクトリでサブディレクトリ名 "failed"のファイル数を数え、max_filesのしきい値をチェックするようにNagiosチェックをしようとしています。これは、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