当从网络驱动器列出文件时,Python中的os.listdir()使用太多内存/需要很长时间

时间:2014-12-02 15:39:46

标签: python caching networking glob listdir

我正在尝试使用os.listdir('somefilepath')列出网络驱动器中的文件。尽管文件数量不是太大(目录中大约有3000个小文件),但任务只需要永久/不完成。当我查看任务管理器时,python需要不断增加的内存来完成任务。

我尝试过使用os.walk,一个glob.glob / glob.iglob函数,但它没有帮助。 是否存在网络延迟问题?最好的检查方法是什么?

1 个答案:

答案 0 :(得分:0)

尝试使用Python 3中提供的scandir。它应该表现得更好。

代码可能如下所示:

import os

file_list = os.scandir('your_dir_path')

请参阅scandir 1.3PEP 471