• paramiko实现上传目录


    使用paramiko上传目录,重点是上传的那个过程,想了一上午才想出来,可能有点奇葩,但是还是实现了这个功能

    #!/usr/bin/python
    
    import paramiko
    import os
    
    def upload_dir(ip,port,username,password,local_dir,remote_dir):
        
        paramiko.util.log_to_file("paramiko.log")
        
        trans = paramiko.Transport((ip,port))
        trans.connect(username=username,password=password)
    
        sftp=paramiko.SFTPClient.from_transport(trans)
    
        try:
            sftp.mkdir(remote_dir)
        except Exception,e:
            pass
    
        a=os.path.join(remote_dir,local_dir.split("/")[-1])
        sftp.mkdir(a)
    
        for root, subdir, files in os.walk(local_dir):
            for dir in subdir:
                r_d = local_dir.split("/")[:-1]
                local_subdir = os.path.join(root,dir)
                l_d = local_subdir.split("/")
                r_m = l_d[len(r_d):]
                r_m = "/".join(r_m)
                remote_subdir = os.path.join(remote_dir,r_m)
                print remote_subdir
                sftp.mkdir(remote_subdir)
            for file in files:
                local_dir_path = os.path.join(root,file)
                l_d_p = local_dir_path.split("/")
                r_d_p = l_d_p[len(r_d):]
                r_d_p = "/".join(r_d_p)
                remote_dir_path = os.path.join(remote_dir,r_d_p)
                print remote_dir_path    
                sftp.put(local_dir_path,remote_dir_path)
    
     
    def main():
        ip = "10.2.0.137"
        port = 22
        username = "root"
        password = "123456"
        local_dir = "/lll/api"
        remote_dir = "/kkkkkkkkkkkk"
        
        upload_dir(ip,port,username,password,local_dir,remote_dir)
      
    if __name__ == "__main__":
        main() 
  • 相关阅读:
    Mongodb相关操作
    ESP8266 + MQTT (platformio 开发环境)
    ESP8266 + L298N
    ESP8266 + mg90s(舵机)
    ESP8266 + SN74HC595N(8位移位寄存器)
    Bootstrap Blazor Table 组件(四)自定义列生成
    .Net Core 依赖注入(IOC) 一些简单的使用技巧
    RabbitMQ 消费者
    Bootstrap Blazor AutoComplete 自动完成 组件
    RabbitMQ 生产者
  • 原文地址:https://www.cnblogs.com/lemon-le/p/6756752.html
Copyright © 2020-2023  润新知