Как вы фильтруете имена файлов, используя os.walk () в Python? - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь перечислить пути к файлам в каталоге, где имя файла содержит определенные слова. Я создам df для каждого файла и сохраню их в словаре позже (с этим у меня все в порядке).

Я использую следующее для вывода списка файлов на основе одного слова:

path = 'myfilepath'
keyword = ['x']
for r, d, f in os.walk(path):
    for file in f:
        filepath = r + file
        for term in file.split():
            if term in keyword:
                print(filepath)

это работает отлично и дает мне имена файлов с полным каталогом, который можно будет использовать позже. Однако я хочу искать файлы, которые имеют более одного ключевого слова. Я безуспешно попробовал следующее:

Попытка 1:

path = 'myfilepath'
keyword = ['x','y']
for r, d, f in os.walk(path):
    for file in f:
        filepath = r + file
        for term in file.split():
            if term in keyword:
                print(filepath)

Попытка 2:

  path = 'myfilepath'
    keyword1 = ['x']
    keyword2 = ['y']
    for r, d, f in os.walk(path):
        for file in f:
            filepath = r + file
            for term in file.split():
                if term in keyword1 and term in keyword2:
                    print(filepath)

Ни один из опробованных мной методов не работает, и я ' м застрял.

Спасибо!

...