os.listdir() в Python, когда перечисление файлов с сетевого диска использует слишком много памяти / занимает много времени

Я пытаюсь использовать os.listdir('somefilepath') для вывода списка файлов на сетевом диске. Несмотря на то, что количество файлов не слишком велико (около 3000 маленьких файлов в каталоге), задача занимает вечность / не завершается. Когда я смотрю на диспетчер задач, для выполнения задачи python требуется все больше и больше памяти.

Вместо этого я попытался использовать os.walk, функции glob.glob/glob.iglob, но это не помогает. Есть ли проблема с задержкой в ​​сети? Какой лучший способ проверить?

1 ответ

Попробуйте использовать scandir который доступен в Python 3. Он должен работать лучше.

код может выглядеть примерно так:

import os

file_list = os.scandir('your_dir_path')

см. Скандир 1.3 и PEP 471

Другие вопросы по тегам