在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小时内与您取得联系。