Проверка размера подкаталога - PullRequest
0 голосов
/ 19 июня 2020

Я хочу написать сценарий оболочки, который нацелен на просмотр каталога root C:\xyz
и выяснение, доступен ли подкаталог "Demo" в каких-либо каталогах или нет.
Если "Demo" доступен и не пуст, выведите 'OK', если "Demo" каталог пуст, выведите 'NOT_OK'.

Ответы [ 2 ]

0 голосов
/ 19 июня 2020

(Предполагая, что вы хотите, чтобы в терминале выполнялся сценарий Python, а не фактический сценарий оболочки)

Вы можете использовать os.walk для рекурсивного перечисления всех файлов и подкаталоги в данном каталоге. Это создает генератор с элементами в форме ("path/from/root", [directories], [files]), который затем вы можете проверить, является ли any из них (a) желаемым каталогом Demo, а (b) не пустым.

import os
exists_and_not_empty = any(path.endswith("/Demo") and (dirs or files)
                           for (path, dirs, files) in os.walk(root_dir))

Это также вернет True, если целевой каталог содержится непосредственно в каталоге root или если он вложен глубже в подкаталоги подкаталогов. Не совсем понятно из вашего вопроса, предназначается ли это, или если целевой каталог должен находиться в прямом подкаталоге каталога root.

0 голосов
/ 19 июня 2020

Чтобы узнать, есть ли какие-либо каталоги в папке xyz
, которая содержит другой каталог с именем 'Demo',
, и если да, то действительно ли 'Demo' пуст, вы можете использовать glob модуль

from glob import glob

if glob("C:\\xyz\\**\\Demo\\*", recursive=True):
        print("OK")
else:
        print("NOT_OK")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...