【问题标题】:How to copy a folder using paramiko from remote to local?如何使用 paramiko 将文件夹从远程复制到本地?
【发布时间】:2017-06-03 16:49:58
【问题描述】:

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

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 完成工作但它没有做它被要求做的事情,它只是放置文件但从不返回文件。

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

【问题讨论】:

    标签: python python-2.7 ssh scp paramiko


    【解决方案1】:

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

    【讨论】:

    • 不使用 Paramiko,有没有其他方法可以使用 python 脚本将文件夹从远程复制到本地?
    • @SaiKiran:当然,您可以使用subprocess 启动scp -rrsync 来复制文件夹。但 Paramiko 更好,因为它保留在 Python 范围内并为您提供更多控制权。
    猜你喜欢
    • 2012-07-03
    • 2021-10-22
    • 1970-01-01
    • 2016-05-23
    • 2016-09-13
    • 1970-01-01
    • 1970-01-01
    • 2014-06-24
    • 2013-03-26
    相关资源
    最近更新 更多