python sftp_Python使用sftp实现上传和下载功能(实例代码)
在Python中可以使用paramiko模块中的sftp登陆远程主机,实现上传和下载功能。
1.功能实现
根据输入参数判断是文件还是目录,进行上传和下载
本地参数local需要与远程参数remote类型一致,文件以文件名结尾,目录以\结尾
上传和下载的本地和远程目录需要存在
异常捕获
2.代码实现
#!/usr/bin/python
# coding=utf-8
import paramiko
import os
def sftp_upload(host,port,username,password,local,remote):
sf = paramiko.Transport((host,port))
sf.connect(username = username,password = password)
sftp = paramiko.SFTPClient.from_transport(sf)
try:
if os.path.isdir(local):#判断本地参数是目录还是文件
for f in os.listdir(local):#遍历本地目录
sftp.put(os.path.join(local+f),os.path.join(remote+f))#上传目录中的文件
else:
sftp.put(local,remote)#上传文件
except Exception,e:
print('upload exception:',e)
sf.close()
def sftp_download(host,port,username,password,local,remote):
sf = paramiko.Transport((host,port))
sf.connect(username = username,password = password)
sftp = paramiko.SFTPClient.from_transport(sf)
try:
if os.path.isdir(local):#判断本地参数是目录还是文件
for f in sftp.listdir(remote):#遍历远程目录
sftp.get(os.path.join(remote+f),os.path.join(local+f))#下载目录中文件
else:
sftp.get(remote,local)#下载文件
except Exception,e:
print('download exception:',e)
sf.close()
if __name__ == '__main__':
host = '192.168.1.2'#主机
port = 22 #端口
username = 'root' #用户名
password = '123456' #密码
local = 'F:\\sftptest\\'#本地文件或目录,与远程一致,当前为windows目录格式,window目录中间需要使用双斜线
remote = '/opt/tianpy5/python/test/'#远程文件或目录,与本地一致,当前为linux目录格式
sftp_upload(host,port,username,password,local,remote)#上传
#sftp_download(host,port,username,password,local,remote)#下载
3.总结
以上代码实现了文件和目录的上传和下载,可以单独上传和下载文件,也可以批量上传和下载目录中的文件,基本实现了所要的功能,但是针对目录不存在的情况,以及上传和下载到多台主机上的情况,还有待完善。
本文标题: Python使用sftp实现上传和下载功能(实例代码)
本文地址: http://www.cppcns.com/jiaoben/python/182058.html
python sftp_Python使用sftp实现上传和下载功能(实例代码)相关推荐
- Python使用sftp实现上传和下载功能(实例代码)
参考:Python-实现sftp客户端(连接远程服务器) import paramikotransport = paramiko.Transport(("106.15.88.182" ...
- 【Python学习 】Python实现的FTP上传和下载功能
一.背景 最近公司的一些自动化操作需要使用Python来实现FTP的上传和下载功能.因此参考网上的例子,撸了一段代码来实现了该功能,下面做个记录. 二.ftplib介绍 Python中默认安装的ftp ...
- SFTP文件上传、下载
SFTP文件上传.下载 public class SftpUtil {private String downFilePath = ""; // FTP文件下载路径private S ...
- 代理连接FTP实现上传和下载功能
近日要实现FTP自动上传下载功能,但在办公区域受网络限制导致失败,最终研究通过办公区域的代理完成连接,并实现FTP上传和下载功能,同时将已上传和已下载的文件移动到默认的备份目录,保证定时任务不会重复获 ...
- php从ftp下载文件到本地,php使用ftp实现文件上传与下载功能
本文实例为大家分享了php ftp文件上传与下载的具体代码,供大家参考,具体内容如下 ftp文件上传 php自带有ftp操作的函数包,一个比较简单实现的ftp文件上传操作可以通过以下几个步骤来完成: ...
- java上传和下载文件代码_JavaWeb中上传和下载文件实例代码
一丶先引入上传下载的lib 二丶上传的的servlet package com.test.action; import java.io.file; import java.io.fileoutputs ...
- php 微信 语音,微信语音的上传与下载功能实现详解
这篇文章主要介绍了微信语音上传 下载功能实例代码,需要的朋友可以参考下 假如现在有一个按钮 按住 说话 下面就是调用微信jssdk的方法var recorder; var btnRecord = $( ...
- XMLHttpRequest 对象实现文件上传和下载功能
XMLHttpRequest 对象实现文件上传和下载功能(内含源码哦
- 使用SpringMVC框架实现文件上传和下载功能
使用SpringMVC框架实现文件上传和下载功能 (一)单个文件上传 ①配置文件上传解释器 <!-配置文件上传解释器 --> <mvc:annotation-driven>&l ...
最新文章
- 【ES6】变量的解构赋值
- c#操作xml实例 2009-03-13 20:00
- 这样设置ae导出文件的时候m1还是能顶得住的,3分钟的事情渲染一个开场
- java.lang.NumberFormatException: null
- [SDK2.2]Windows Azure Storage (16) 使用WCF服务,将本地图片上传至Azure Storage (上) 客户端代码...
- 001 - JavaScript Array String
- 余姚计算机编程培训,余姚编程软件培训
- java分割txt文件
- office宏病毒反弹shell实验
- 《微习惯:简单到不可能失败的自我管理法则》读书小结
- 从0带您打造企业级 Vue 服务器渲染 Nuxt.js (一) 入门
- 快速搭建一个小型博客网站
- 用python操作浏览器的三种方式,详细介绍并附代码
- 计算机与网络应用word题目解析,计算机二级word真题:《计算机与网络应用》教材的编排...
- USACO Section 1.1 Broken Necklace
- D3D11的深度模板缓冲
- 雅虎地图与谷歌地图坐标_打开Yahoo! 将与Google玩得很好,不竞争
- axis=0 与 axis=1 的区分
- Vue--》超详细教程——vue-cli脚手架的搭建与使用
- 我的世界java版游戏狗,我的世界Minecraft Java版17w46a公布