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