最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

使用Python实现sftp上传和下载功能代码分享

来源:动视网 责编:小采 时间:2020-11-27 14:25:33
文档

使用Python实现sftp上传和下载功能代码分享

使用Python实现sftp上传和下载功能代码分享:在Python中可以使用paramiko模块中的sftp登陆远程主机,实现上传和下载功能。接下来通过本文给大家介绍Python使用sftp实现上传和下载功能,需要的朋友参考下1.功能实现根据输入参数判断是文件还是目录,进行上传和下载本地参数local需要与远程参数rem
推荐度:
导读使用Python实现sftp上传和下载功能代码分享:在Python中可以使用paramiko模块中的sftp登陆远程主机,实现上传和下载功能。接下来通过本文给大家介绍Python使用sftp实现上传和下载功能,需要的朋友参考下1.功能实现根据输入参数判断是文件还是目录,进行上传和下载本地参数local需要与远程参数rem


在Python中可以使用paramiko模块中的sftp登陆远程主机,实现上传和下载功能。接下来通过本文给大家介绍Python使用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上传和下载功能代码分享

使用Python实现sftp上传和下载功能代码分享:在Python中可以使用paramiko模块中的sftp登陆远程主机,实现上传和下载功能。接下来通过本文给大家介绍Python使用sftp实现上传和下载功能,需要的朋友参考下1.功能实现根据输入参数判断是文件还是目录,进行上传和下载本地参数local需要与远程参数rem
推荐度:
标签: 下载 代码 python
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top