python - 如何使用paramiko将文件夹从远程复制到本地?

标签 python python-2.7 ssh scp paramiko

这里我提到了一个放置文件的片段,并且可以使用相同的逻辑从远程获取文件。

from paramiko import SSHClient
from paramiko import AutoAddPolicy
from scp import SCPClient
ssh = SSHClient()
ssh.load_system_host_keys()
ssh.set_missing_host_key_policy(AutoAddPolicy())
ssh.connect('192.168.150.4',username='researcher',password='help')

#SCP connectin
scp = SCPClient(ssh.get_transport())
scp.put('test.txt')

现在我的远程有一个文件夹在 2 个子目录中,我想将其复制到本地计算机,但我不知道 scp 到底在联系哪里。有没有办法执行 pwd 并使用远程迁移paramiko。我也用过这个Wrapper完成工作但它没有执行要求执行的操作,它只是放置文件但从不返回文件。

有没有更好的方法来获取文件夹或递归下载文件并复制到我的本地计算机。?

最佳答案

您应该创建一个paramiko.SFTPClient,然后使用listdir()listdir_iter() 枚举要复制的目录中的文件。然后将它们一一复制。没有内置的递归复制操作。

关于python - 如何使用paramiko将文件夹从远程复制到本地?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41734155/

相关文章:

python - 用全息 View 绘制多条线

mysql - pyodbc + MySQL ODBC无法处理Unicode数据库名

python-2.7 - 在sklearn中生成各向异性数据

git - 使用标准 Maven 插件发布时如何将密码短语传递给私钥

python - 为单个查询/连接设置 Hive 优先级

python - Swift 异常处理 vs python 异常

javascript - 将 Selenium 引用到 javascript 按钮时遇到问题。 [Python]

python - 为什么 Windows 上的 python 2.7 在打印时需要在 unicode 字符前加一个空格?

从家里的 Azure ssh 连接

php - Composer 下载私有(private) GitHub 存储库