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()
作者:李先生
-------------------------------------------
个性签名:在平凡中坚持前行,总有一天会遇见不一样的自己!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!
微信公众号 微信打赏 支付宝打赏
posted on 2017-04-24 14:34 Captain_Li 阅读(816) 评论(0) 编辑 收藏 举报