Recursive SFTP listdir in Python?



我需要递归列出包含大量子目录(超过 16,000 个(的目录的内容。

我目前正在使用Paramiko的SFTP客户端,该客户端不提供任何递归listdir功能。所以我必须首先在父文件夹上运行listdir,然后为每个(许多,许多(子目录运行另一个listdir。运行时间太长。

有没有办法在单个 SFTP 调用中运行递归listdir?我不仅限于Paramiko软件包,它只是我们目前正在使用的软件包。

由于当地的管理限制,我无法使用Paramiko的ssh.exec_command('ls -R <path>')(它只会返回错误消息(。

所以我必须首先在父文件夹上运行listdir,然后为每个(许多,许多(子目录运行另一个listdir

这是正确的方法。

有关实现的示例,请参阅
来自 Linux 的 Python pysftp get_r 在 Linux 上运行良好,但在 Windows 上则不行。

<小时 />

有没有办法在单个 SFTP 调用中运行递归listdir?我不仅限于Paramiko软件包,它只是我们目前正在使用的软件包。

不。这不是帕拉米科的限制。SFTP 协议本身没有任何方法来检索递归列表。并不是说其他类似的协议(如FTP(通常具有这样的功能,所以它并不是一个真正的限制

最新更新