全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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上传和下载  # python实现sftp  # python实现从ftp服务器下载文件  # python操作ssh实现服务器日志下载的方法  # 用Python实现一个简单的能够上传下载的HTTP服务器  # python实现从ftp服务器下载文件的方法  # python 从远程服务器下载日志文件的程序  # python 从远程服务器下载东西的代码  # python paramiko利用sftp上传目录到远程的实例  # Python 使用SFTP和FTP实现对服务器的文件下载功能  # 上传  # 遍历  # 目录中  # 实现了  # 不存在  # 可以使用  # 所要  # 多台  # 上传文件  # utf  # usr  # bin  # coding  # import  # port  # username  # password  # host  # os 


相关文章: 如何选择高效稳定的ISP建站解决方案?  文字头像制作网站推荐软件,醒图能自动配文字吗?  如何通过.red域名打造高辨识度品牌网站?  建站DNS解析失败?如何正确配置域名服务器?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  建站之星代理平台如何选择最佳方案?  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  网站设计制作公司地址,网站建设比较好的公司都有哪些?  实惠建站价格推荐:2025年高性价比自助建站套餐解析  如何在云虚拟主机上快速搭建个人网站?  如何通过NAT技术实现内网高效建站?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  如何通过商城免费建站系统源码自定义网站主题?  建站之星后台密码遗忘?如何快速找回?  如何快速搭建高效WAP手机网站吸引移动用户?  盘锦网站制作公司,盘锦大洼有多少5G网站?  建站之星如何优化SEO以实现高效排名?  ,想在网上投简历,哪几个网站比较好?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  如何在Golang中引入测试模块_Golang测试包导入与使用实践  如何用wdcp快速搭建高效网站?  如何选择PHP开源工具快速搭建网站?  如何快速配置高效服务器建站软件?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  如何在自有机房高效搭建专业网站?  如何在建站之星网店版论坛获取技术支持?  安云自助建站系统如何快速提升SEO排名?  香港服务器租用每月最低只需15元?  如何通过虚拟主机快速搭建个人网站?  定制建站平台哪家好?企业官网搭建与快速建站方案推荐  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  如何选购建站域名与空间?自助平台全解析  如何选择CMS系统实现快速建站与SEO优化?  再谈Python中的字符串与字符编码(推荐)  高防服务器租用指南:配置选择与快速部署攻略  建站168自助建站系统:快速模板定制与SEO优化指南  如何用y主机助手快速搭建网站?  贸易公司网站制作流程,出口贸易网站设计怎么做?  建站主机空间推荐 高性价比配置与快速部署方案解析  ,sp开头的版面叫什么?  如何在服务器上三步完成建站并提升流量?  如何高效利用200m空间完成建站?  长沙企业网站制作哪家好,长沙水业集团官方网站?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  建站之星导航如何优化提升用户体验? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。