Python paramiko SFTP协议上传下载文件

.描述

业务有一个发货流程,人工操作太过于繁琐,所以想通过代码实现。首先遇到问题是在Windows上与linux服务器交互,使用SFTP协议(SSL加密的FTP协议,类似于HTTPS。PS:个人理解!)上传下载文件

安装

pip install paramiko

代码demo


import paramiko

host = "123.123.123.123"
port = 54321
user = "XXX"
password = "XXXX"


# 第一种登录服务器的方法
def login_sftp1():
    try:
        # 建立连接管道
        t = paramiko.Transport((host,port))# 注意是双层括号,之前搞了好久。
        # 建立连接
        t.connect(username=user,password=password)
        # 实例化一个clint对象,并通过ssh transport操作文件
        sftp = paramiko.SFTPClient.from_transport(t)
    except Exception as e:
        print (e)
    # 查看目标服务器的当前文件夹的目录文件,默认参数path='.'。
    print sftp.listdir()
    t.close()
    sftp.close()

# 第二种登录方法
def login_sftp2()
    try:
        sc= paramiko.SSHClient()
        sc.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        sc.connect(host,port,user,password)
        # 获取操作文件的实例也有两种方式 
        sftp = paramiko.SFTPClient.from_transport(sc.get_transport())#①
        -------------------------------------------------------------------
        sftp = ssh.open_sftp()#②
    except Exception as e:
        print (e)
    print sftp.listdir()
    sc.close()
    sftp.close()
----------
# 文件上传
sftp.put(localpath,remotepath)

#文件下载
sftp.get(remotepath,localpath)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值