python paramiko 传输下载文件
Posted 你的小可爱吖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python paramiko 传输下载文件相关的知识,希望对你有一定的参考价值。
简介:
paramiko是一个基于SSH用于连接远程服务器并执行相关操作(SSHClient和SFTPClinet,即一个是远程连接,一个是上传下载服务),使用该模块可以对远程服务器进行命令或文件操作。
下载安装:
pycrypto,由于 paramiko 模块内部依赖pycrypto,所以先下载安装pycrypto pip3 install pycrypto pip3 install paramiko
使用:
1.使用账号密码上传下载文件
import paramiko # 获取Transport实例 tran = paramiko.Transport(("192.168.37.128", 22)) # 连接SSH服务端 tran.connect(username="root", password="admin123") # 获取SFTP实例 sftp = paramiko.SFTPClient.from_transport(tran) # 设置上传的本地/远程文件路径 localpath = "./sky_data.py" remotepath = "/bin/sky_data1111.py" # 执行上传动作 sftp.put(localpath, remotepath) # 执行下载动作 sftp.put(remotepath, localpath) # 关闭链接 tran.close()
问题:
问题1:"IOError: Failure"
注意:这里的remotepath和localpath为:“文件所在目录 + \'/\' + 文件名” 完整的文件路径,不是只有文件的目录,要不然会出各种错误。
paramiko模块中的put还是get方法,将上面的目录改成所要上传下载文件的完整路径(注意:这里的路径包括文件名,要不然程序不知道要将文件存储在哪里,所以会出现各种错误),上面出现的各种问题就不见了
以上是关于python paramiko 传输下载文件的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Python SFTP/Paramiko 将 zip 文件从一台服务器传输到另一台服务器