Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当需要数千万个文件时,递归地收集给定根目录的路径_Java_Python - Fatal编程技术网

Java 当需要数千万个文件时,递归地收集给定根目录的路径

Java 当需要数千万个文件时,递归地收集给定根目录的路径,java,python,Java,Python,我需要创建给定根目录下的文件路径列表, 当我预计此目录下的文件数将达到数千万时 这样做的好方法和有效方法是什么 我目前运行的python脚本运行os.walk多线程 有没有更好的方法来实现我的需求 应该注意的是,direcotry是安装在nfs上的驱动器。这似乎是生成器的功能: >>> import os >>> os.walk(".") <generator object walk at 0x100f32f00> 导入操作系统 >>>os.wa

我需要创建给定根目录下的文件路径列表, 当我预计此目录下的文件数将达到数千万时

这样做的好方法和有效方法是什么

我目前运行的python脚本运行os.walk多线程

有没有更好的方法来实现我的需求

应该注意的是,direcotry是安装在nfs上的驱动器。

这似乎是生成器的功能:

>>> import os
>>> os.walk(".")
<generator object walk at 0x100f32f00>
导入操作系统 >>>os.walk(“.”) 在你的情况下,是什么使它成为一个好的候选人

多线程解决方案可能不会带来性能方面的好处,所以我建议将其转换为一些(比如内置的)

生成进程的拆分作业算法可能是系统中最关键的部分,应该仔细调整

由于目录位于远程系统上,因此在远程系统上运行脚本肯定会更快,并且使远程应用程序听起来也更合理


就像@javadeveloper建议的那样,您也可以测试解决方案:调用OS列表目录函数(ls/find/dir)+用shell语言(bash、DOS)编写脚本,或者将输出重定向到file/stream,并用脚本语言(如python)对其进行解析。

在Linux或UNIX上,您可以使用
find
命令。只需调用:
查找您的\u根目录