Список файлов в подпапке с помощью Glob

Я видел этот ответ - Как я могу искать подпапки с помощью модуля glob.glob в Python?, но я не понял, что делает os.walk() (я читал документы, но это не совсем имело смысл).

Я действительно новичок в пути и все еще пытаюсь понять это.

У меня есть скрипт, который живет в /users/name/Desktop/folder/, и я хочу получить доступ к некоторым файлам в /users/name/Desktop/folder/subfolder/*.html.

Я попробовал glob.glob('/users/name/Desktop/folder/subfolder/*.html'), но он вернул пустой список. Я понимаю, что это то, что сделал предыдущий человек, и это не сработало (я просто надеялся, что глобус был обновлен!)

Любые мысли о том, как это сделать?


person Morgan Allen    schedule 21.12.2015    source источник
comment
Файлы находятся в самом subfolder? Вопрос, который вы связали, похоже, касается рекурсивного подстановки: поиск каждого файла, соответствующего *.html, в подпапках подпапок подпапок подпапок (и т. д.) пути. Если файлы на самом деле находятся в папке с именем subfolder, а не в папке ниже этой, вам не нужна рекурсивная подстановка, и вставленный вами код должен просто работать.   -  person Wander Nauta    schedule 21.12.2015
comment
Есть ли хороший способ убедиться, что я делаю правильный путь? У меня есть папка MainFolder с моим скриптом, а затем две подпапки, папка A и папка B. Я хочу находиться в MainFolder и запускать скрипт, который использует файлы из папки A.   -  person Morgan Allen    schedule 21.12.2015
comment
Вы можете попробовать открыть Terminal.app и выполнить ls, за которым следует ваш путь в двойных кавычках (все это, включая *.html). Если это не дает никаких результатов, файлы, которые вы ищете, находятся где-то еще. Если он выдает ошибку, ваш путь неверен, и bash будет кричать на вас. Если это дает результаты, проблема в вашем скрипте.   -  person Wander Nauta    schedule 21.12.2015


Ответы (1)


Без какой-либо дополнительной информации трудно сказать, в чем проблема. Я проверил ваш синтаксис, он отлично работает для меня. Вы уверены, что расширение .html не .htm в вашем каталоге /users/name/Desktop/folder/subfolder/?

Кроме того, для дальнейшего устранения неполадок вы можете проверить, что python может видеть в вашем каталоге, запустив:

os.listdir('/users/name/Desktop/folder/subfolder/')

Это должно помочь вам начать.

person Deney Fletcher    schedule 21.12.2015
comment
ааа, хорошо, используя это, я нашел свою ошибку :-) folder на самом деле было 'longer name', и я привык делать 'longer\ name' из терминала. Как только я удалил «\», это сработало! - person Morgan Allen; 21.12.2015