问题标签 [file-traversal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
8988 浏览

java - 在 Python 中寻找类似于 Java 的文件遍历函数

在 Java 中,您可以执行File.listFiles()和接收目录中的所有文件。然后,您可以轻松地通过目录树进行递归。

在 Python 中是否有类似的方法可以做到这一点?

0 投票
4 回答
6439 浏览

python - 在 Python 中遍历目录树的相当快的方法?

假设给定的目录树大小合理:比如说像 Twisted 或 Python 这样的开源项目,遍历和迭代该目录内所有文件/目录的绝对路径的最快方法是什么?

我想从 Python 中做到这一点。os.path.walk很慢。所以我尝试了 ls -lRtree -fi。对于一个大约有 8337 个文件(包括 tmp、pyc、test、.svn 文件)的项目:

tree似乎比 快ls -lR(虽然ls -R比 快tree,但它没有给出完整的路径)。find是最快的。

谁能想到更快和/或更好的方法?在 Windows 上,如有必要,我可能会简单地发布一个 32 位二叉树.exe 或 ls.exe。

更新 1:添加find

更新 2:我为什么要这样做?...我正在尝试对 cd、pushd 等进行智能替换,并为依赖传递路径的其他命令(更少、更多、cat、vim、tail)进行包装命令。该程序偶尔会使用文件遍历来执行此操作(例如:键入“cd sr grai pat lxml”会自动转换为“cd src/pypm/grail/patches/lxml”)。如果这个 cd 替换需要半秒钟来运行,我不会感到满意。见http://github.com/srid/pf

0 投票
2 回答
298 浏览

python - Python 文件遍历

我正在尝试创建一个函数,该函数接受根文件的名称,然后遍历目录并返回这样的列表。

以下是我对该功能的尝试:

我的问题是,我总是得到与该函数一起记录的相同文件/文件夹的重复,并且我的路径总是相对于“rootdir”显示,而不仅仅是相应文件/文件夹的名称。如何清除重复项?此外,我怎样才能使它不是被记录的完整路径。

0 投票
2 回答
6021 浏览

c - 在 c 中正确使用 ftw()

我的代码中有以下内容:(用 c 编码)

argv[2] 是本地目录路径。例如。argv[2] = "TestCases" 并且在与我的 .o 文件相同的目录中有一个 testcases 文件夹。

我的理解是,这应该遍历目录 TestCases 并将找到的每个文件发送到函数 parseFile。

实际发生的是它只是将我的参数发送给函数 parseFile ,仅此而已。我究竟做错了什么?我应该如何正确使用它?

编辑:这是解析文件:

如果我为我的 argv[2] 输入 TestCases/big.txt 它将起作用,但如果我输入 TestCases 则不会

0 投票
1 回答
135 浏览

javascript - 成功完成递归的回调

我正在关注文件夹拖放以进行文件夹上传。

上述递归结束条件检查不起作用。由于嵌套文件和文件夹的数量各不相同,因此检查递归结束的任何有效方法。

0 投票
2 回答
1460 浏览

java - 使用 Java 的文件树系统只获取文件和文件夹而不是子目录

所以我必须使用 Java 文件树系统,因为 .listfiles 文件由于某种原因在通过远程网络时速度非常慢。然而,所有 Java 文件树系统示例都列出了子目录中的所有文件,从而严重降低了程序速度。我怎样才能使它只搜索目录并只返回该目录而不是子目录中的文件夹和文件的名称。

示例代码:

任何见解或帮助将不胜感激,谢谢。

0 投票
2 回答
560 浏览

c# - ThreadPool.QueueUserWorkItem 完成后调用方法

我正在开发一个用 c# 编写的控制台应用程序

这个应用程序的目的是浏览所有驱动器和文件并对它们做一些事情。但是用一个线程遍历所有文件是一个耗时的过程,这不是我的目标。

所以我决定用ThreadPool这样的方式处理它:

问题是Console.WriteLine("Job is done.")在所有线程完成之前执行。我已经阅读了一些问题和答案,但没有一个能解决我的问题。

ThreadPool在所有线程完成工作后如何调用方法?

注意:您可能知道,我不知道将创建多少线程,因为我不知道那里有多少文件。并且设置超时不是一种选择。

0 投票
1 回答
61 浏览

posix - nftw的功能替换

全部,

据此 ntfw 在 POSIX.1-2008 中已过时。

这个功能有替代品吗?还是我应该全面使用其他东西?

蒂亚!

0 投票
2 回答
624 浏览

python - 在 Python 中的文件行上实现滑动窗口

我正在尝试使用 Python 在 csv 文件的行上实现滑动/移动窗口方法。每行可以有一个带有二进制值的列yesno. 基本上,我想要罕见的yes噪音。这意味着如果说我们在 5 个窗口(最多 5 个)中有3 yes行,请保留它们。但如果有 1 或 2,让我们将它们更改为. 我怎样才能做到这一点?no

例如,以下内容yes都应变为no.

但在下面,我们保持原样(可以有 5 个窗口,其中 3 个是yes):

我尝试写一些东西,窗口为 5,但卡住了(它不完整):

0 投票
2 回答
76 浏览

c - 如何将此临时 char* 变量复制到我的结构中以进行更永久的存储?

我正在尝试实现一个线程池,并且在获取我应该使用的文件路径以比它们存在于 ftw 的 OnOpen 函数中的临时实例更永久地存储时遇到了很多麻烦. 我不允许对每个处理的文件路径执行 malloc。

这是我目前必须尝试让 OnOpen 不向我的线程提供临时数据的方法,我对它在 memcpy 上崩溃的原因感到困惑。

我很想知道如何在不创建多余的 char* 数组的情况下从正在编辑的临时变量中获取数据以确保数据安全,而我使用它来执行 memcpy。

编辑:很好的反馈,但这不是我所需要的。

下面我将添加一些与我遇到问题的代码相关的内容,即线程池以及我如何使用任务结构,这可能有助于更好地理解可以做什么以及我如何可以去做:

我的线程池由 8 个线程组成,这也是我的 taskQueue 的大小。

我曾经有,.arg = strcpy(temp, path)但由于 temp 是临时的,我在 hashFunc 中打印了错误的数据。

每个线程都应该有自己的 Task 结构副本可以使用,以免它们相互干扰。


最终编辑:我让它工作了,这是它需要的样子: