4

我正在尝试从远程服务器下载一个 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 协议下载小文件夹?

4

1 回答 1

2

What I suggest instead of transferring whole folder, you should first make a temporary compressed tar file on server programmetically and transfer that tar file using sftp over network - may reduce bandwidh / will work faster and will be less error prone.

于 2012-08-08T04:37:30.013 回答