我有大量文件,我想对其进行递归并执行 md5 校验和。
其中许多文件存储在多个物理磁盘上,但全部安装在同一目录中:
/mnt/drive1/dir1/file.jpg
/mnt/drive2/dir1/file2.jpg
如何在不将整个目录和文件结构加载到内存中的情况下通过/mnt 进行递归?
有没有办法用多线程来做到这一点?可能不需要使用多个线程/进程来递归访问目录,但文件操作可能是 CPU 密集型的,这将受益于多个 CPU 核心。
提前致谢。
最佳答案
为什么不使用简单的 os.walk?它不会占用任何大量内存。
import os
for root, dirs, files in os.walk('/mnt'):
for name in files:
print os.path.join(root, name)
关于python - 在 Python 中有效地递归文件目录,同时最大限度地减少内存使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23956068/