文档章节

python用paramiko模块上传本地目录到远程目录

yzbty23
 yzbty23
发布于 2015/06/08 21:08
字数 237
阅读 155
收藏 1

精选30+云产品,助力企业轻松上云!>>>

python用paramiko模块默认中只可以上传文件,在网上也没有找到合适的直接上传目录的方法,所以用os.walk方法和paramiko结合写了一个上传目录的方法,代码如下:

#!/usr/bin/env python
import paramiko,datetime,os
hostname='192.168.1.100'
username='root'
password='123456'
port=22
def upload(local_dir,remote_dir):
    try:
        t=paramiko.Transport((hostname,port))
        t.connect(username=username,password=password)
        sftp=paramiko.SFTPClient.from_transport(t)
        print 'upload file start %s ' % datetime.datetime.now()
        for root,dirs,files in os.walk(local_dir):
            for filespath in files:
                local_file = os.path.join(root,filespath)
                a = local_file.replace(local_dir,'')
                remote_file = os.path.join(remote_dir,a)
                try:
                    sftp.put(local_file,remote_file)
                except Exception,e:
                    sftp.mkdir(os.path.split(remote_file)[0])
                    sftp.put(local_file,remote_file)
                print "upload %s to remote %s" % (local_file,remote_file)
            for name in dirs:
                local_path = os.path.join(root,name)
                a = local_path.replace(local_dir,'')
                remote_path = os.path.join(remote_dir,a)
                try:
                    sftp.mkdir(remote_path)
                    print "mkdir path %s" % remote_path
                except Exception,e:
                    print e
        print 'upload file success %s ' % datetime.datetime.now()
        t.close()
    except Exception,e:
        print e
if __name__=='__main__':
    local_dir='/home/soft/'
    remote_dir='/tmp/aaa/'
    upload(local_dir,remote_dir)

 经过多次测试,完美实现。

yzbty23
粉丝 122
博文 285
码字总数 248292
作品 0
浦东
程序员
私信 提问
加载中
请先登录后再评论。
Python操作远程服务器paramiko模块介绍

paramiko模块是基于Python实现的SSH远程安全连接,可以提供在远程服务器上执行命令、上传文件到服务器或者从指定服务器下载文件的功能。 paramiko模块安装方法 paramiko模块不是python自带的...

osc_lsc01x8k
2018/04/27
6
0
python - 使用sftp传输文件

  前言   在Python中,paramiko是实现ssh2协议的一个模块。在服务器上基本都是使用ssh远程,如果我们需要传输文件,也可以直接使用基于ssh服务的sftp传输,不需要另外开启文件传输的服务...

linux运维菜
2018/11/29
0
0
python paramiko模块简介

python paramiko模块简介 一:简介 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。 由于使用的是python这样的能够跨平台运行的语言,所...

末班车New
2017/10/24
0
0
python之ssh连接库paramiko

paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。 一:paramiko的安装 1.安装方式一 下载pycrypto安装(paramiko依赖这个包) https://www...

Jeff_Linux
2014/06/06
0
0
python脚本---上传本机文件到远端(接上文)

上一个脚本刚写完,第二天不用了。。。需要传到linux服务器上。。。 So,下一个脚本开始: 1. 这次选择用的模块 2. 整体思路 遍历本地目录放入集合 读取上次上传到linux的文件信息(existsfil...

osc_0sz5p35w
2018/03/08
2
0

没有更多内容

加载失败,请刷新页面

加载更多

Microsoft Edge Canary for Mac(edge浏览器) v86.0.570.0中文版

microsoftedge浏览器是一款作为windows操作系统的官方内置浏览器。Microsoft Edge官方版对比ie浏览器来说功能更好,而且它还集成Contana等新功能,交互界面更加简洁,还增加了对Firefox浏览器...

云不若
21分钟前
18
0
信息的哲学--从信息到数据存储,再到数据保护

信息的哲学--从信息到数据存储,再到数据保护 1 什么是信息 当今信息化时代,信息就是利润,数据就是企业的命根子。世界运行在数据之上。当代量子学的最新理论是:量子其实是一种信息,而不...

osc_taer599u
21分钟前
16
0
mysql 到期 即将到期

即将到期的设备数量: SELECT COUNT(id) FROM jtl_device WHERE DATE_FORMAT(expiration_time,'%Y-%m-%d')<=DATE_ADD(CURDATE(),INTERVAL 30 DAY) AND `company_id` = 1577945251258504 AND ......

简小姐
21分钟前
13
0
深入分析各种raid级别及其速度变化比较

本文从低层原理上,深入透析了目前存在的7种raid模式的组成原理,结构,并深刻分析了各种级别相对于单盘IO速率的变化。 Raid0 Raid0是这样一种模式:我们拿5块盘的raid0为例子。 上图中5个竖...

osc_22rhv8iu
22分钟前
6
0
论文阅读:“快把卷积神经网络中的平移不变性带回来” - 知乎

老规矩,文章以我自己的Blog的最新版为准。 论文阅读:“快把卷积神经网络中的平移不变性带回来” blog.tsingjyujing.com 简介 这篇博客主要是我读论文Making Convolutional Networks Shift...

osc_r9yyhhqz
23分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部