python使用 paramiko遍历下载远程sftp文件及文件夹
以下代码已经过实际测试, 可以下载远程linux遍历上的文件及文件夹, 只需要修改为您的远程sftp的ip及端口, 以及账户密码.
# paramiko 在python中直接使用ssh协议对远程服务器执行操作,而无须通过ssh命令.
# 包含两个核心组件:SSHClient和SFTPClient
# SSHClient的作用类似于Linux的ssh命令,是对SSH会话的封装,该类封装了传输(Transport),通道(Channel)及SFTPClient建立的方法(open_sftp),通常用于执行远程命令。
# SFTPClient的作用类似与Linux的sftp命令,是对SFTP客户端的封装,用以实现远程文件操作,如文件上传、下载、修改文件权限等操作
# ftplib是封装了FTP方法和类的库
# -*- coding:utf-8 -*-
import paramiko as pm
import datetime as dt
import os
import stat
import sys
# 定义下载文件的日期范围
# 前一天零点, yyyymmdd
yesterday = (dt.datetime.now() - dt.timedelta(days=1)).strftime('%Y%m%d')
# 今天零点, yyyymmdd
# today = dt.datetime.now().strftime('%Y%m%d')
# 测试 +1天
today = (dt.datetime.now() + dt.timedelta(days=1)).strftime('%Y%m%d')
# today = dt.datetime.now().strftime('%Y%m%d')
# 获取transport传输实例, sftp服务器 ip + 端口号
tran = pm