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

时间:2017-01-19 05:06:26

标签: 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 and migrate in remote using paramiko。我也有使用这个Wrapper来完成工作,但它没有按照要求做的事情,它只是放置文件但从不返回文件。

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

1 个答案:

答案 0 :(得分:3)

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