【问题标题】:Recursive SFTP listdir in Python?Python中的递归SFTP listdir?
【发布时间】:2018-01-21 15:56:43
【问题描述】:

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

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

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

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

【问题讨论】:

标签: python sftp paramiko listdir


【解决方案1】:

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

这是正确的方法。

有关实现示例,请参阅
Python pysftp get_r from Linux works fine on Linux but not on Windows


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

没有。这不是 Paramiko 的限制。 SFTP 协议本身没有任何方法来检索递归列表。并不是说其他​​类似的协议 (like FTP) 普遍具有这样的功能,所以这并不是真正的限制

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多