我在网络存储设备上托管了一个大型目录结构,我想使用 os.walk
遍历它。系统相当慢,但我认为如果我可以同时查询多个目录(所有目录都具有相同的公共(public)根),这个过程可以更快地完成。我不在乎输出的顺序是什么,只要到最后我已经解析了所有内容即可。
我正在考虑重新实现 os.walk
以将新目录传递到线程工作线程池中。如果别人的代码已经存在,我宁愿使用它(为什么要重新发明轮子?),但还没有遇到过。
确定这是一项常见任务?有没有人遇到过这样的事情?也许我遗漏了一些东西并且不会导致加速。
如果我在一周左右没有得到答复,毫无疑问我会在这里发布我的尝试。
最佳答案
看来你需要一个分布式作业执行系统。我一直在使用 Gearman有一段时间发现它是一个很棒的框架,如果你不想从基本的 Thread 模块开始,我会推荐它。它支持用 Python 编写的客户端和工作人员,因此可能满足您的需求。但是您可能仍然需要做部门工作。
关于python - os.walk() 的并行化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15522134/