Я пытаюсь сделать проверку nagios, чтобы подсчитать количество файлов в любом подкаталоге с именем «failed» в заданной директории, а затем проверить max_files threshhold. Это как-то вроде for i in `find . -type d -name failed`; do echo $; ls |wc -l $i; done
в bash. (Попытка узнать больше Python вместо того, чтобы вернуться к bash. Да, эта команда, вероятно, не работает так, как написано, просто опубликована по иллюстративным причинам.)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()
Это все, прежде чем начать делать то сравнивая количество файлов для порогов, но я застрял на этой части и не могу постучать потерять мышление, необходимое для продолжения.
Что вы желаемый результат? –
Я ищу что-то вдоль линий: ''/путь/к/реж: 4 files'' ''/путь/к/anotherdir: 0 files'' и т.д. Может быть, как просто как '' dirName 4''. Мне не нужно ничего сложного. (Pardon weird форматирование и редактирование, я новичок здесь.) – MagicToaster