Список всех файлов HTML в коде каталога Python не работает

Я пытаюсь перечислить все файлы HTML в каталоге, используя os.walk, но он не возвращает ничего вместо имен файлов.

Вот мой код

def read_dirctory():
    matches = []
    for root, dirnames, filenames in os.walk('/home/akallararajappan/www.mangalam.com/agriculture'):
        for filename in fnmatch.filter(filenames, '*.html'):
            matches.append(os.path.join(root, filename))
   return matches

В чем проблема? Я использую Убунту 12.04. У меня есть 1000 html-файлов в каталоге

выход:

[] 

person Community    schedule 22.01.2014    source источник
comment
Одно из решений, которое я могу с готовностью предложить, состоит в том, что return должен быть без отступа дважды...   -  person thefourtheye    schedule 22.01.2014
comment
Затем я получаю сообщение об ошибке   -  person    schedule 22.01.2014
comment
Я имел в виду, что return не должно быть внутри циклов.   -  person thefourtheye    schedule 22.01.2014
comment
Тем не менее он ничего не возвращает, у меня там 1000 html-файлов   -  person    schedule 22.01.2014
comment
Об использовании «glob» не может быть и речи?   -  person Nishant    schedule 22.01.2014


Ответы (1)


Что-то вроде этого должно работать. Кстати, уже есть пара вопросов, подобных этому.

def read_directory():
    matches =[]
    directory = '/home/akallararajappan/www.mangalam.com/agriculture'
    for root, dirs, files in os.walk(directory):
        for file in files:
            if file.endswith('.html'):
                matches.append(os.path.join(root, file))
    return matches
person Francisco Puga    schedule 22.01.2014