使用 Paramiko 进行递归目录下载?

2024-01-24

我想通过 SSH 递归下载一个包含未知内容的目录,并一直在尝试 Paramiko。我看过几个如何上传目录的示例,但没有一个示例涵盖递归下载。

我可以列出目录中的所有项目,但无法找到一种方法来了解该项目是文件(要下载)还是目录(要递归调用)。

transport = paramiko.Transport((MY_IP, 22))
transport.connect(username=MY_NAME, password=MY_PASS)
sftp = paramiko.SFTPClient.from_transport(transport)

file_list = sftp.listdir(path='/home/MY_HOME_DIR')
    for item in file_list:
        # Here is an item name... but is it a file or directory?
        print(item)
sftp.close()
transport.close()

那么我如何知道一个项目是文件还是目录呢?


from stat import S_ISDIR

def isdir(path):
  try:
    return S_ISDIR(sftp.stat(path).st_mode)
  except IOError:
    #Path does not exist, so by definition not a directory
    return False

...假设sftp是一个开放的 Paramiko SFTP 连接。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Paramiko 进行递归目录下载? 的相关文章

  • Python 中的字节数组

    如何在 Python 中表示字节数组 如 Java 中的 byte 我需要用 gevent 通过网络发送它 byte key 0x13 0x00 0x00 0x00 0x08 0x00 在Python 3中 我们使用bytes对象 也称为s
  • 希伯来语中的稀疏句子标记化错误

    尝试对希伯来语使用稀疏句子标记 import spacy nlp spacy load he doc nlp text sents list doc sents I get Warning no model found for he Onl
  • Jupyter Notebooks 不显示进度条

    我正在尝试在 Jupyter 笔记本中显示进度条 这是一台新电脑 我通常做的事情似乎不起作用 from tqdm import tqdm notebook example iter 1 2 3 4 5 for rec in tqdm not
  • 为什么我的代码不能根据字典解码加密字符串?

    我有一本字典 其中包含代表字母的键和值 例如一个简单的 DICT CODE b g n a p o x d t y 我收到了一个加密代码 并将该字符串转换为一个列表 其中每个项目都是一个单词 我需要根据字典中的项目来解决它 代码示例是 wo
  • 更新 Sqlalchemy 中的多个列

    我有一个在 Flask 上运行的应用程序 并使用 sqlalchemy 与数据库交互 我想用用户指定的值更新表的列 我正在使用的查询是 def update table value1 value2 value3 query update T
  • 可以用 Django 制作移动应用程序吗?

    我想知道我是否可以在我的网站上使用 Django 代码 并以某种方式在移动应用程序 Flutter 等框架中使用它 那么是否可以使用我现在拥有的 Django 后端并在移动应用程序中使用它 所以就像models views etc 是的 有
  • WindowsError:[错误 126] 使用 ctypes 加载操作系统时

    python代码无法在Windows 7平台上运行 def libSO lib ctypes cdll LoadLibrary ConsoleApplication2 so lib cfoo2 1 3 当我尝试运行它时 得到来自python
  • python是带有字符串的运算符行为[重复]

    这个问题在这里已经有答案了 我无法理解以下行为 我正在创建 2 个字符串 并使用 is 运算符来比较它 对于第一种情况 它的工作方式有所不同 对于第二种情况 它按预期工作 当我使用逗号或空格时 它显示是什么原因False与比较is当没有使用
  • python 中的 Johansen 协整检验

    我找不到任何有关在处理统计和时间序列分析 pandas 和 statsmodel 的 Python 模块中执行 Johansen 协整检验的功能的参考 有谁知道是否有一些代码可以执行时间序列之间的协整测试 现在 这已在 Python 的 s
  • 为什么我无法在 Mac OS X Terminal.app 上的 Python 解释器中显示 unicode 字符?

    如果我尝试粘贴 unicode 字符 例如中间的点 在我的 python 解释器中它什么也不做 我在 Mac OS X 上使用 Terminal app 当我只是在 bash 中时 我没有遇到任何问题 但在解释器中 python Pytho
  • `list()` 被认为是一个函数吗?

    list显然是内置类型 https docs python org 3 library stdtypes html list在Python中 我看到底下有一条评论this https stackoverflow com a 53645813
  • 如何使用 Django 项目设置 SQLite?

    我已阅读 Django 文档 仅供参考 https docs djangoproject com en 1 3 intro tutorial01 https docs djangoproject com en 1 3 intro tutor
  • 将文本注释到轴并对齐为圆

    我正在尝试在轴上绘制文本并将该文本与圆对齐 更准确地说 有一些具有不同坐标 x y 的点位于该圆内 并使用以下命令创建 ax scatter x y s 100 我想用圆圈连接并标记每个点 Cnameb 文本的坐标由 xp yp 定义 因此
  • 解析根元素内元素之间的 XML 文本

    我正在尝试用 Python 解析 XML 以下是 XML 结构的示例 a aaaa1 b bbbb b aaaa2 a
  • Python 声音(“铃声”)

    我想让一个 python 程序在完成任务时通过发出嘟嘟声来提醒我 目前 我使用import os然后使用命令行语音程序说 进程完成 我更愿意它是一个简单的 铃 我知道有一个函数可以用于Cocoa apps NSBeep 但我认为这与此没有太
  • Python 通过从现有 csv 文件中过滤选定的行来写入新的 csv 文件

    只是一个问题 我试图将 csv 文件中的选定行写入新的 csv 文件 但出现错误 我试图读取的 test csv 文件是这样的 两列 2013 9 1 2013 10 2 2013 11 3 2013 12 4 2014 1 5 2014
  • 如何在单元测试中使用 JSON 发送请求

    我的 Flask 应用程序中有在请求中使用 JSON 的代码 我可以像这样获取 JSON 对象 Request request get json 这一直工作得很好 但是我正在尝试使用 Python 的 unittest 模块创建单元测试 但
  • 在 Django shell 会话期间获取 SQL 查询计数

    有没有办法打印 Django ORM 在 Django shell 会话期间执行的原始 SQL 查询的数量 Django 调试工具栏已经提供了此类信息 例如 5 QUERIES in 5 83MS但如何从 shell 中获取它并不明显 您可
  • python sklearn中的fit方法

    我问自己关于 sklearn 中拟合方法的各种问题 问题1 当我这样做时 from sklearn decomposition import TruncatedSVD model TruncatedSVD svd 1 model fit X
  • 如何获取所有mysql元组结果并转换为json

    我能够从表中获取单个数据 但是当我试图获取表上的所有数据时 我只得到一行 cnn execute sql rows cnn fetchall column t 0 for t in cnn description for row in ro

随机推荐

  • 如何在 SwiftUI 中将 .enumerated() 与 ForEach 一起使用?

    这是一个按预期工作的简单 SwiftUI 列表 struct App View let items Array 100 200 var body some View List ForEach items id self index item
  • NSURLCache 在启动时是否持久?

    我正在为我的 iOS 应用程序寻找一种在启动后保持不变的网络缓存解决方案 我开始阅读有关 NSURLCache 的内容 但没有看到任何有关持久性的提及 有谁知道当您使用 NSURLCache 然后关闭并打开应用程序时它的行为如何 它持续吗
  • Phonegap 非调试模式和使用许可证密钥签名

    我已经在phonegap 中完成了一个应用程序 并想在谷歌应用程序商店上发布它 每次我下载 apk 文件时 它都处于调试模式 我如何使用密钥或密钥库对其进行签名 以将其上传到 Google Play 因为 Google 不会在调试模式下将其
  • 如何将道具从模板传递到反应根节点?

    我已经成功地在模板上的 div 上渲染我的组件 如下所示 索引 html load render bundle from webpack loader h1 Example h1 div div render bundle main 我的反
  • Objective-C:检查 OSX 中的防火墙状态?

    我的 Objective C 应用程序需要知道 OSX 中的防火墙是否正在运行 以便它可以告诉用户将其关闭或创建新规则 另外 是否可以直接从我的应用程序创建规则 以便用户永远不需要处理网络问题 John 我正在编写一个函数 可以为您提供 O
  • 为什么我无法从 Firebase 实时数据库检索用户名和密码

    我想使用存储在 Firebase 实时数据库中的用户名和密码登录 但我的代码不起作用 我包括我的数据库图片和代码 请帮我 这是数据库图像 这是我的主要活动代码MainActivity java databaseReference Fireb
  • jQuery 中有样式选择器吗?

    例如 如果我想选择它的 alt 是 Home 的每个图像 我可以执行以下操作 img alt Home 但是我怎样才能选择它们的每个元素width例如 在单个选择器中 CSS 属性为 750px EDIT 如果没有这样的选择器 是否有任何插
  • 在 Haskell 中查找函数的行号

    我正在尝试创建一个 Haskell 程序 它将一些简单的 2d 形状绘制到屏幕上 但是当您将鼠标悬停在每个形状上时 它会打印创建该形状的源代码行 为了做到这一点 我希望能够创建带有尺寸参数和指示行号的最终参数的形状 像这样的东西 rect1
  • 使用 Linq 获取第 N 个值

    如何使用 Linq 获取第 N 行 两列都是文本 所以我不能使用最小值 最大值 var nthItem items Skip n First
  • Android 语音识别作为 Android 4.1 和 4.2 上的服务

    我已经成功地让连续语音识别 使用 SpeechRecognizer 类 作为一项服务在所有 Android 版本 最高 4 1 上运行 我的问题是让它在版本 4 1 和 4 2 上工作 因为众所周知 存在一个问题 即 API 没有按照记录进
  • 使用 bufferedimages 将视频编码为 h264?

    我正在尝试使用 java 将大量缓冲图像 由我的应用程序动态创建的预先保存的图像 转换为视频 并希望有一个库可以帮助完成该过程 我探索了许多不同的选项 例如 jcodec 没有关于如何使用它的文档 Xuggler 由于与jdk5及其相关库的
  • scala:向枚举添加方法

    我有一个像这样的简单枚举 object ConditionOperator extends Enumeration val Equal Value equal val NotEqual Value notEqual val GreaterO
  • git pull:不断告诉我在拉取之前隐藏本地更改

    当我尝试使用 git pull 拉取我的 git 存储库时 它不断告诉我我有本地更改 尽管我没有触及任何提到的文件 有人可以解释这种行为并知道解决方案吗 git 状态 On branch master Your branch is behi
  • GlassFish 4 / EclipseLink 延迟加载 @ManyToOne 关系失败

    GlassFish 4 实际上是它的 JPA 实现 即 EclipseLink 无法从我们的 Java EE 7 应用程序延迟加载 ManyToOne JPA 关系 默认 渴望加载是可以的 但不能是延迟加载 学生 实体中的关系是 ManyT
  • 将值传递给路由

    我有一份物品清单 当用户点击某个项目时 用户将被带到项目详细信息页面 我想将包含项目详细信息 如项目的图像 URL 的对象传递给路线 但是 我不想在路由网址中公开它 如果有办法做类似的事情 a item name a 那将是黄金 我已经看到
  • 如何用vb6查询网站?

    vb6中查询网页的函数是什么 我想做的是从雅虎财经获取数据 例如 此 url 返回一个 csv 文件 其中包含通用电气的股息值 我需要在函数中运行它并让函数返回答案 说到 Excel 您可以创建网络查询 http office micros
  • 在 Mac 上更新 Python

    我想在 mac 上将 python 2 6 1 更新到 3 x 但我想知道是否可以使用终端来完成此操作 或者我必须从 python 网站下载安装程序 我问这个问题是因为安装程序没有更新我的终端 python 版本 OS X 上的默认 Pyt
  • Hibernate 导致:org.hibernate.AnnotationException:未知的mappedBy

    我有两节课 Entity Table name profil public class Profil Id GeneratedValue strategy GenerationType AUTO Column name id private
  • 将 Tensorflow 中除 max 之外的所有值归零

    我有一个数组 0 3 0 5 0 79 0 2 0 11 我想将除最大值之外的所有值转换为零 所以结果数组将是 0 0 0 79 0 0 在 Tensorflow 图中执行此操作的最佳方法是什么 如果你想保留最大值的所有出现 你可以使用 c
  • 使用 Paramiko 进行递归目录下载?

    我想通过 SSH 递归下载一个包含未知内容的目录 并一直在尝试 Paramiko 我看过几个如何上传目录的示例 但没有一个示例涵盖递归下载 我可以列出目录中的所有项目 但无法找到一种方法来了解该项目是文件 要下载 还是目录 要递归调用 tr