os.listdir() показывает файл на самом деле не в папке на Python и Windows

Следующий скрипт Python:

import os
print os.listdir('D:\images')

выводит имена всех папок в D:\image каталог, но он также показывает desktop.ini в той же папке, пока нет такого файла в каталоге изображений.

Это также не скрытый предмет, я уверен в этом.

Почему тогда он отображается как контент?

2 ответа

Решение

desktop.ini это защищенный системный файл, и Windows стремится его скрыть.

Вы можете проверить, перейдя в D:\images в терминале и работает dir /A,

Смотрите также этот ответ.

Ты можешь использовать os.walk() если вы хотите больше контроля, он даст вам каталоги и файлы отдельно. Вы также можете использовать os.path.isdir() чтобы узнать, является ли полученная вами запись каталогом.

Я использовал os.path.isdir(путь), чтобы проверить, является ли элемент, возвращаемый os.listdir(), каталогом или нет

Таким образом,desktop.ini не соответствовал критериям, предъявляемым к каталогу, и моя программа просканировала все папки.

Другие вопросы по тегам