基于python怎样实现下载文件sftp?
Admin 2021-11-24 群英技术资讯 1556 次浏览
这篇文章主要介绍基于python实现自动下载文件sftp的内容,实现功能和需求、以及具体的实现代码如下,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章能有所收获,接下来小编带着大家一起了解看看。
实现功能:利用python自动连接sftp,并下载sftp中指定目录下的所有目录及文件
需求实例:sftp中的文件如下

将sftp根目录中的所有文件下载到本地 /data/test 目录中
实现代码:
#!/usr/bin/python
# coding=utf-8
import paramiko
import os
def sftp_download(sftp,localDir,remoteDir):
if remoteDir.find(".") == -1:#判断远程目录参数是否是目录,前提是远程的文件名中都包含扩展名,否则此方法不可用
for file in sftp.listdir(remoteDir):
remoteDirTmp=os.path.join(remoteDir,file)
localDirTmp=os.path.join(localDir,file)
sftp_download(sftp,localDirTmp,remoteDirTmp)
else:
localPath=localDir.rpartition("/")[0]
if not os.path.exists(localPath):
os.makedirs(localPath)
print("download file:",remoteDir)
try:
sftp.get(remoteDir,localDir)
except Exception as e:
print('download exception:',e)
if __name__ == '__main__':
host = '192.168.149.128'#sftp主机
port = 22 #端口
username = 'sftp' #sftp用户名
password = '123456'
localDir = '/data/test'#本地文件或目录
remoteDir = '/'#远程文件或目录
sf = paramiko.Transport((host,port))
sf.connect(username = username,password = password)
sftp = paramiko.SFTPClient.from_transport(sf)
sftp_download(sftp,localDir,remoteDir)
sf.close()
关于python实现自动下载文件sftp的内容就介绍到这,上述示例具有一定的借鉴价值,感兴趣的朋友可以参考,希望能对大家有帮助,想要了解更多python的内容,大家可以关注其它的相关文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了python list 查询是否存在并且并返回下标的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
python列表移除重复项的方法有什么?对 python列表(list)移除重复项是比较常见的需求,而解决这个问题的方法其实有很多,下面小编就给大家介绍几种,有需要的朋友可以参考。
这篇文章主要为大家介绍了pyspark自定义UDAF函数调用报错问题解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
在本篇文章里小编给大家整理的是一篇关于python用字节处理文件实例讲解内容,有兴趣的朋友们可以学习参考下。
这篇文章主要介绍了基于Python实现视频的分辨率转换的示例代码,文中的代码讲解详细,对学习Python有一定的帮助,感兴趣的小伙伴可以了解一下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008