Python проверить содержимое папок

Как проверить, что содержится в папке, файлы или другие папки? Для os.path.isfile нужно указывать название файла. Мне это не надо. Просто проверить, что внутри,файлы или папки. Как это сделать?


Ответы (3 шт):

Автор решения: icYFTL

Используйте os.walk()

import os

for address, dirs, files in os.walk('<YOUR_PATH_TO_DIR>'):
   if files:
      print(f'In {address} exists files')
   if dirs:
      print(f'In {address} exists dirs')
→ Ссылка
Автор решения: Newman

Мое решение на основе ответа выше

def check_is_dir_files(data):
    inside_folders=None
    inside_files=None
    for dirs, folder, files in os.walk(data):
        inside_folders=folder
        inside_files=files
        break
print(inside_folders)
print(inside_files)
→ Ссылка
Автор решения: MilkyWay

Дополню ответ icYFTL. Нет необходимости проходить по всему генератору, при таком подходе вы обходите все папки рекурсивно, что не требуется в рамках задачи, и конечно может вызвать проблемы с производительностью.

import os

test = os.walk('/path')
path, dirs, files = next(test)
if files:   print('file')
if dirs:    print('folder')
→ Ссылка