Рекурсивный глобус работает только на некоторых папках - PullRequest
0 голосов
/ 25 января 2020

Я просматриваю иерархию папок с:

files = glob(os.path.join(fileroot,somefolder,'**/*.npy'),recursive=True)

, и она отлично работает на некоторых папках, а не на других. Я пробовал и другие методы:

from pathlib import Path

for file_path in Path(os.path.join(fileroot,somefolder)).glob('**/*.npy'):
    print(file_path) 

Попытался удалить 'npy', чтобы увидеть, найден ли он без расширения и не повезло. Чего мне не хватает?

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

С рекурсивным глобусом выше я могу найти файлы глубиной 2 папки (например, fileroot / somefolder / folder1 / folder2 / * npy), но не дальше (fileroot / somefolder / folder1 / folder2 / folder3 / * npy) ,

Я также заметил, что у меня такие же результаты при установке рекурсивного значения в False, поэтому кажется, что рекурсивная команда по какой-то причине игнорируется

1 Ответ

0 голосов
/ 25 января 2020

Не уверен, что я действительно понимаю вопрос, но он получает имена файлов в папках и подпапках из root папки 'test'.

from os import walk

path = './test'
my_files = []
for (dirpath, dirnames, filenames) in walk(path):
    my_files.extend(filenames)
...