如何使用Paramiko传输文件夹

我正在尝试从远程服务器下载80 MB文件夹到我的本地计算机上.我知道文件路径是正确的,我知道该文件夹存在.我当前的工作代码(适用于单个文件)是这样的:

import paramiko

def begin():
    tran=paramiko.Transport(('dns.server.name', 22))
    tran.connect(username='**',password='**')
    sftp=paramiko.SFTPClient.from_transport(tran)
    sftp.get('/remote/file/path', '/local/file/path')
    sftp.close()
    tran.close()

我已经尝试添加sftp.listdir了,但是我担心我找不到足够的关于这个主题的文档来使它对我来说是可以理解的或可用的.有什么东西看起来像os.walk吗?

我的问题是 – 如何通过paramiko中提供的ssh2协议下载小文件夹?

最佳答案 我建议而不是传输整个文件夹,你应该首先在服务器上编程一个临时压缩的tar文件并使用sftp通过网络传输该tar文件 – 可能会减少bandwidh /将更快地工作并且将更不容易出错.

点赞