@nihi1ist

Как проверить является ли элемент итерации каталогом?

Имеется абсолютный путь до каталога:
path = "C:/Users/user/PycharmProjects/basic"
Хочу перебрать элементы каталога и определить, какой элемент файл, а какой папка.
for element in os.listdir(path):
    if os.path.isdir(element):
        print(f'{element} - Это директория')
    else:
        print(f'{element} - Это не директория')

Но даже те элементы, которые являются каталогами, по условию проходят как не каталоги. Что я делаю не так?
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
iggor-markin
@iggor-markin
Python Developer
Методу isdir() нужен полный путь. Исходный вариант будет работать только для каталога, в котором лежит скрипт. Так будет работать:
import os

path = '..'
for element in os.listdir(path):
    if os.path.isdir(os.path.join(path, element)):
        print(f'{element} - Это директория')
    else:
        print(f'{element} - Это не директория')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
15 мая 2024, в 22:07
3000 руб./за проект
15 мая 2024, в 22:06
3000 руб./за проект
15 мая 2024, в 20:48
5000 руб./за проект