Python sftp上传文件 速度过慢
原因:服务器在国外
我方:国内
网络问题较大,自己用软件测试(winscp)同样很慢刚开始文件很少,读取目录速度没有那么慢,时间长了,文件变多
第一版代码
class SftpInfo(object):def __init__(self, username, password, timeout=3000):self.username = usernameself.password = passwordself.timeout = timeout# transport和chanelself.t = ''self.chan = ''# 链接失败的重试次数self.try_times = 10# 调用该方法连接远程主机def connect(self):while True:# 连接过程中可能会抛出异常,比如网络不通、链接超时try:self.t = paramiko.Transport(sock=('xxxxxxxxxxx', 22))print(self.username)print(self.password)self.t.connect(username=self.username, password=self.password)# 如果没有抛出异常说明连接成功,直接返回print(u'连接%s成功')return# 这里不对可能的异常如socket.error, socket.timeout细化,直接一网打尽except Exception as e1:if self.try_times != 0:print(u'连接%s失败,进行重试')self.try_times -= 1else:print(u'重试10次失败,结束程序')exit(1)def sftp_upload_file(self, remote_dir, file, filename):# 去掉路径字符穿最后的字符'/',如果有的话remote_filename = remote_dir + '/' + filenamesftp = paramiko.SFTPClient.from_transport(self.t)is_existence = True if filename in sftp.listdir(f'{remote_dir}/') else Falseif not is_existence:sftp.putfo(fl=file, remotepath=remote_filename)return Truedef sftp_download_file(self, remote_file_name, file_name):sftp = paramiko.SFTPClient.from_transport(self.t)# is_existence = True if file_name in sftp.listdir(f'{remote_file_name}/') else False# if is_existence:sftp.get(remote_file_name, file_name) # 远程路径 本地路径def sftp_mkdir_dir(self, dir_name, purchase_currency_code):sftp = paramiko.SFTPClient.from_transport(self.t)is_existence = True if dir_name in sftp.listdir('T/') else False # 哦按段if not is_existence:sftp.mkdir(path=f'/{dir_name}')return f'T/{dir_name}'# 断开连接def close(self):self.t.close()print('stfp--------------------->断开连接')
我这里使用的是 sftp.putfo 我这边是数据流可以更换自己想要的哈
时间测试在5分钟内可以上传完
第二版
修改这个方法
def sftp_mkdir_dir(self, dir_name, purchase_currency_code):sftp = paramiko.SFTPClient.from_transport(self.t)# is_existence = True if dir_name in sftp.listdir('T/') else False # 哦按段# if not is_existence:try:sftp.mkdir(path=f'/{dir_name}')except Exception as e:# 如果存在了会报错已经存在 这个错误pass处理掉print(e)return f'T/{dir_name}'
时间测试在1分钟内可以上传完
原因:文件目录越多,打开这个目录下的文件越慢,底层需要循环遍历,判断这个文件名是否已经存在
在别人服务器执行的是命令,可以直接执行创建命令,不遍历目录
Python sftp上传文件 速度过慢相关推荐
- rz后远程服务器没反应,“通过jumpserver远程登录linux服务器,rz上传文件速度过慢”问题的解决...
问题: windows通过jumpserver远程登录到linux服务器,使用rz上传jar包,速度太慢(10k以内). 解决方案: 思路:通过ssh直接登录远程服务器 1.secureCRT-> ...
- C# SFTP上传文件
最近工作中用到一个SFTP上传文件的功能,因为客户端是C#做的就搜索了一些C#SFTP资料,发现网上除了一篇博客外还没有一篇系列完整的整理文档,就整理了下,希望大家多提建议,共同提高. sftp是Se ...
- 【便签纸】记录一次Linux服务器上通过sftp上传文件时的错误
背景:在Linux服务器上,通过sftp上传文件到远程服务器. 首先,需要登录远程服务器,格式是: sftp [服务器名]@[服务器地址] 然后,需要输入服务器密码: [服务器名]@[服务器地址]'s ...
- java ssh 服务器文件传输_java使用SFTP上传文件到资源服务器
本文实例为大家分享了java实现SFTP上传文件到资源服务器工具类,供大家参考,具体内容如下 首先得创建连接sftp服务器的公共类MySftp.java: package cn.test.util; ...
- SecureCRT sftp上传文件报错:put: failed to upload xxx 拒绝访问
1.问题 使用sftp上传文件时报错:put: failed to upload xxx 拒绝访问.类似下图所示: 2.原因 造成这个问题的原因可能有两个,一是要上到的那个目录剩余磁盘空间不足,二是打 ...
- sftp上传文件和下载文件
sftp上传文件和下载文件 在SecrueCRT中使用stfp命令 sftp中的常用命令 pwd lpwd ls lls put-上传文件到服务器 get-下载文件到本地 在SecrueCRT中使用s ...
- java使用sftp上传(文件)图片到服务器中
最近租了一个服务器,想着上线个小项目,结果图片上传卡壳了,自从11号看了一篇文章就入了ftp的坑.研究了十多个小时的ftp文件传输,无果.睡前看到了一篇关于sftp上传文件的文章,抱着试一试的心态,结 ...
- mac使用sftp上传文件夹
mac使用sftp上传文件夹 合并分卷文件 1.mac使用sftp上传文件夹 2.拆分.合并分卷文件 3.校验文件md5码 1.mac使用sftp上传文件夹 在win中有很多好用的ftp工具,但是在m ...
- Python请求上传文件接口
Python 请求上传文件接口 def post_multipart_request():params = {"key1": "value1", "k ...
最新文章
- Java技术——Iterator和Enumeration的不同
- hamap java_一篇文章,让你真正了解Java
- Jquery Types 小结
- keepalived详解 结合lvs
- STM32 中malloc实际调用
- php自动运维,运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(五)
- AtCoder Beginner Contest 177总结
- Simulink之功率场效应晶体管(P-MOSFET)
- Django中类视图的几实现方式
- “携号转网”正式试运行,这两个原因或致无法转网
- 转:Android ViewPager多页面滑动切换以及动画效果
- 多线程程序设计学习(1)之多线程程序的评量标准
- liux环境下配置jdk
- 生活随记 - 2020国庆第一天
- 分布式机器学习——入门篇
- 高级前端工程师知识图谱
- 张正友标定法matlab,张正友标定法(相机标定)
- Remember this!
- 游戏开发中的贝塞尔曲线
- 硬件模拟大师_用机器人做咖啡,“智咖大师”这样升级新零售
热门文章
- sonic-ios-bridge(sib)使用
- 世界排名前十位的奢侈品
- linux设定默认网卡,linux初始化配置网卡
- Caused by: java.lang.IllegalArgumentException: maxActive can‘t not set zero
- 微服务架构 | 服务注册发现中心/配置中心/消息总线 - [nacos]
- 使用springboot和vue搭建项目
- vim 修改后退出命令
- 百度分享插件,可分享到QQ,微信,微博…
- 分享3个好用到爆的Python模块,点赞收藏
- excel中输入身份证号不能够完整显示的解决