Python Os.walk пропускает несколько файлов для обработки в каталоге

Из 10 файлов в каталоге обрабатывается только 8 файлов и 2 файла не обрабатываются. Но если я удалю все 8 файлов и попытаюсь запустить с пропущенными 2 файлами, все заработает. Почему в Os.walk отсутствуют файлы? Также есть способ обработать все файлы в каталоге один за другим, не пропуская ни одного. Примечание. Решение будет использоваться для папки, содержащей 100 тыс. файлов JSON.

for root, dirs, files in os.walk('D:/M'):
     for file in files:
        if file.endswith(".json"):
            Strfil=os.path.join(root,file)
            with open(Strfil, 'r') as json_file:

person Mahesh M K S    schedule 01.11.2019    source источник


Ответы (1)


Для вещей, связанных с файловой системой, лучше использовать модуль pathlib

С pathlib вы можете сделать что-то подобное.

from pathlib import Path

json_files = list(Path("D:/M").glob("**/*.json"))
for f in json_files:
    with open(f, 'r') as json_file:
person abhilb    schedule 01.11.2019