python实现自动下载sftp文件
作者:Jepson2017 时间:2022-01-25 12:55:36
本文实例为大家分享了python实现自动下载sftp文件的具体代码,供大家参考,具体内容如下
实现功能:利用python自动连接sftp,并下载sftp中指定目录下的所有目录及文件
系统环境:centos7
python版本:python3
使用模块包:paramiko ,若未安装,可使用 pip install paramiko 进行安装
需求实例: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()
来源:https://blog.csdn.net/d1240673769/article/details/106295184
标签:python,下载文件
0
投稿
猜你喜欢
python对csv文件追加写入列的方法
2022-11-14 01:56:29
SQL Server TEXT、NTEXT字段拆分的问题
2008-10-26 12:28:00
python获取指定网页上所有超链接的方法
2023-07-18 11:50:20
ASP分页技术详解
2007-08-13 15:25:00
Python用20行代码实现完整邮件功能
2023-04-06 12:20:49
详解Python中的type()方法的使用
2022-01-03 03:11:06
如何把数组转换成字符串?
2009-11-06 13:49:00
ASP脚本变量、函数、过程和条件语句
2008-10-14 14:43:00
JS实现数字格式千分位相互转换方法
2023-08-31 08:24:48
Python中plt.imshow(image)无法显示图片的解决
2022-01-12 15:33:04
Python:slice与indices的用法
2021-09-10 22:31:09
Python Matplotlib数据可视化模块使用详解
2022-06-03 01:24:11
PyQT5 emit 和 connect的用法详解
2022-02-08 15:15:11
windows下安装Python虚拟环境virtualenvwrapper-win
2023-12-23 11:24:08
随机提取N条记录方法
2007-10-11 18:04:00
SQLServer与服务器连接时出错的解决方案
2009-06-28 14:35:00
Python全栈之文件函数和函数参数
2023-05-11 02:28:21
Python玩转Excel的读写改实例
2022-01-27 19:59:47
python3 使用Opencv打开USB摄像头,配置1080P分辨率的操作
2024-01-02 12:40:07
文字解说Golang Goroutine和线程的区别
2023-10-15 18:56:36