python实现自动下载sftp文件

本文实例为大家分享了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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python实现百度文库自动化爬取

    项目介绍 可以下载doc,ppt,pdf.对于doc文档可以下载,doc中的表格无法下载,图片格式的文档也可以下载.ppt和pdf是先下载图片再放到ppt中.只要是可以预览的都可以下载. 已有功能 将可以预览的word文档下载为word文档,如果文档是扫描件,同样支持. 将可以预览的ppt和pdf下载为不可编辑的ppt,因为网页上只有图片,所以理论上无法下载可编辑的版本. 环境安装 pip install requests pip install my_fake_useragent pip in

  • 用python自动生成日历

    效果 在Excel日历模板的基础上,生成带有农历日期.节假日.休班等信息的日历,解决DIY日历最大的技术难题. 图中日期,第一行为公历,第二行为节假日,第三行为农历,第四行是其他特别的日子,比如生日.纪念日等. 特点 使用门槛低 Python + Excel,会运行Python脚本,会使用Excel即可上手. 步骤简单 只需要修改Excel的年份(在一月份表头修改),运行一次脚本 可扩展 可制作任意年份的日历(修改年份即可) 可定制 可以添加其他特殊日期 使用手册 第一步,修改日历年份及样式 打

  • 教你怎么用Python处理excel实现自动化办公

    一.介绍 实现的是把某个文件夹下的所有文件名提取出来,放入一个列表,在与excel中的某列进行对比,如果一致的话,对另一列进行操作,比如我们在统计人员活动情况的时候,对参加的人需要进行记录. 二.步骤 代统计名单 比如下面这个目录是参与活动的人员名单,每个文件夹为每个人参与活动的相关资料,有些目录是很多人一起参与一个活动,这个时候我要把文件遍历,把名字输入到一个列表中. 相关代码如下 # 保存指定目录下文件名到列表 def Save_name(dirPath): filePath = dirPa

  • python调用stitcher类自动实现多个图像拼接融合功能

    使用stitcher需要注意,图像太大会报错而且计算慢. 特点和适用范围:图像需有足够重合相同特征区域. 优点:适应部分倾斜/尺度变换和畸变情形,拼接效果好,使用简单,可以一次拼接多张图片. 缺点:需要有足够的相同特征区域进行匹配,速度较慢(和图像大小有关). 原图(可下载) 代码(两张图片拼接) import sys import cv2 if __name__ == "__main__": img1 = cv2.imread('C:/Users/Guaguan/Desktop/im

  • 发工资啦!教你用Python实现邮箱自动群发工资条

    一.excel的内容 二.效果 三.需要用的库: openpyxl smptlib email.mime.text email.header 四.实现步骤 4.1 获取excel表的数据 wb = load_workbook('数据表.xlsx') sheet = wb.active for row in sheet: for cell in row: print(cell.value) 4.2 编写邮件内容 使用字符串拼接成html for row in sheet: tbody = '<tr

  • 如何用 Python 子进程关闭 Excel 自动化中的弹窗

    利用Python进行Excel自动化操作的过程中,尤其是涉及VBA时,可能遇到消息框/弹窗(MsgBox).此时需要人为响应,否则代码卡死直至超时 [^1] [^2].根本的解决方法是VBA代码中不要出现类似弹窗,但有时我们无权修改被操作的Excel文件,例如这是我们进行自动化测试的对象.所以本文记录从代码角度解决此类问题的方法. 假想场景 使用xlwings(或者其他自动化库)打开Excel文件test.xlsm,读取Sheet1!A1单元格内容.很简单的一个操作: import xlwing

  • python 自动刷新网页的两种方法

    1.简介 打开网页 实现定时刷新 可以看到 多次自动打开关闭网页之后,浏览的数量 从 118 自动变成了 119 2.功能实现 1) 一种方法 from time import sleep from selenium import webdriver driver= webdriver.Chrome() # 需要 下载 对应浏览器 驱动到 python 安装目录 driver.get("https://blog.csdn.net/qq_27061049/article/details/90577

  • Python 制作自动化翻译工具

    妈妈再也不用担心我的英语了. 一个可能你似曾相识的场景 阅读内容包含大量英文的 PPT.Word.Excel 或者记事本时,由于英语不熟悉,为了流利地阅读,需要打开浏览器进入谷歌翻译的主界面,然后把英文复制到谷歌翻译的输入框中,最后又把翻译结果复制回 PPT.Word 和 Excel. 要是一个两个单词还好,要是发现有 100 个单词不认识,就必须复制粘贴 200 次,如此机械性重复性的工作,应该交给程序来做,这就是我设计下面这个自动化翻译工具的初衷. 提升办公效率的法宝 如上图,运行程序并保持

  • python自动化之如何利用allure生成测试报告

    Allure测试报告框架帮助你轻松实现"高大上"报告展示.本文通过示例演示如何从0到1集成Allure测试框架.重点展示了如何将Allure集成到已有的自动化测试工程中.以及如何实现报表的优化展示.Allure非常强大,支持多种语言多种测试框架,无论是Java/Python还是Junit/TestNG,其他语言或者框架实现的流程和本文一致,具体配置参照各语言框架规范 安装 安装allure Windows用户: scoop install allure    (需要先下载并安装Scoo

  • 十个Python自动化常用操作,即拿即用

    一.遍历文件夹 代码如下,大家可以根据自己的路径进行修改 import os      for dirpath, dirnames, filenames in os.walk(r'C:\\Program Files (x86)'):     print(f'打开文件夹{dirpath}') # 当前文件夹路径      if dirnames:         print(dirnames) # 包含文件夹名称[列表形式]      if filenames:         print(fil

  • Python+uiautomator2实现自动刷抖音视频功能

    工具准备 Python3.7.7 adb(Android debug bridge) uiautomatorviewer 安装adb 官网地址:https://developer.android.google.cn/studio/command-line/adb 下载好解压后设置环境变量即可 安装uiautomatorviewer 参照此篇文章:https://www.cnblogs.com/corsacsherry/p/10609339.html 调试工具 手机通过USB连接到电脑上开启开发者

  • 使用Python自动化Microsoft Excel和Word的操作方法

    将Excel与Word集成,无缝生成自动报告 毫无疑问,微软的Excel和Word是公司和非公司领域使用最广泛的两款软件.它们实际上是"工作"的同义词.通常情况下,每一周我们都会将两者结合起来,并以某种方式发挥它们的优点.虽然一般的日常用途不会要求自动化,但有时自动化可能是必需的.也就是说,当您有大量的图表.图形.表格和报告要生成时,如果您选择手动方式,它可能会成为一项极其繁琐的工作.其实没必要这样.实际上,有一种方法可以在Python中创建一个管道,您可以将两者无缝集成,在Excel

随机推荐