如何使用Paramiko传输文件夹

时间:2012-08-07 17:35:10

标签: python sftp 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协议下载小文件夹?

1 个答案:

答案 0 :(得分:2)

我建议您不要传输整个文件夹,而应首先在服务器上以程序方式创建临时压缩tar文件并使用sftp通过网络传输该tar文件 - 可能会减少bandwidh /将更快地工作将不那么容易出错。