在Python中使用paramiko打开远程文件慢[重复]

2023-12-20

我正在使用 paramiko 在 python 中打开远程 sftp 文件。使用 paramiko 返回的文件对象,我正在逐行读取文件并处理信息。与使用 os 中的 python 内置方法“open”相比,这看起来确实很慢。以下是我用来获取文件对象的代码。

使用paramiko(慢2倍)-

client = paramiko.SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(myHost,myPort,myUser,myPassword)
sftp = client.open_sftp()
fileObject = sftp.file(fullFilePath,'rb')

使用操作系统 -

import os
fileObject = open(fullFilePath,'rb')

我错过了什么吗?有没有一种方法可以使 paramiko 文件对象读取方法与使用 os 文件对象的方法一样快?

Thanks!!


您的问题可能是由该文件是远程对象引起的。您已在服务器上打开它,并且每次请求一行 - 因为它不是本地的,所以每个请求比文件位于硬盘驱动器上花费的时间要长得多。最好的选择可能是首先使用 Paramiko 将文件复制到本地位置SFTP get http://www.lag.net/paramiko/docs/paramiko.SFTPClient-class.html#get.

完成此操作后,您可以使用以下命令从本地位置打开文件os.open.

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

在Python中使用paramiko打开远程文件慢[重复] 的相关文章

  • Pandas set_levels,如何避免标签排序?

    我使用时遇到问题set levels多索引 from io import StringIO txt Name Height Age Metres A 1 25 B 95 1 df pd read csv StringIO txt heade
  • Python - 比较同一字典中的值

    我有一本字典 d Trump MAGA FollowTheMoney Clinton dems Clinton Stein FollowTheMoney Atlanta 我想删除字符串列表中的重复字符串 该字符串是键的值 对于这个例子 期望
  • Gunicorn 工作人员无论如何都会超时

    我正在尝试通过gunicorn运行一个简单的烧瓶应用程序 但是无论我做什么 我的工作人员都会超时 无论是否有针对应用程序的活动 工作人员在我设置任何内容后总是会超时timeout值到 是什么导致它们超时 当我发出请求时 请求成功通过 但工作
  • 嵌套列表的重叠会产生不必要的间隙

    我有一个包含三个列表的嵌套 这些列表由 for 循环填充 并且填充由 if 条件控制 第一次迭代后 它可能类似于以下示例 a 1 2 0 0 0 0 0 0 4 5 0 0 0 0 0 0 6 7 根据条件 它们不重叠 在第二次迭代之后 新
  • 在 Django Admin 中调整字段大小

    在管理上添加或编辑条目时 Django 倾向于填充水平空间 但在某些情况下 当编辑 8 个字符宽的日期字段或 6 或 8 个字符的 CharField 时 这确实是一种空间浪费 字符宽 然后编辑框最多可容纳 15 或 20 个字符 我如何告
  • Pycharm 在 os.path 连接上出现“未解析的引用”

    将pycharm升级到2018 1 并将python升级到3 6 5后 pycharm报告 未解析的引用 join 最新版本的 pycharm 不会显示以下行的任何警告 from os path import join expanduser
  • MongoEngine 查询具有以列表中指定的前缀开头的属性的对象的列表

    我需要在 Mongo 数据库中查询具有以列表中任何前缀开头的特定属性的元素 现在我有一段这样的代码 query mymodel terms term in query terms 并且这会匹配在列表 term 上有一个项目的对象 该列表中的
  • Tensorboard SyntaxError:语法无效

    当我尝试制作张量板时 出现语法错误 尽管开源代码我还是无法理解 我尝试搜索张量板的代码 但不清楚 即使我不擅长Python 我这样写路径C Users jh902 Documents logs因为我正在使用 Windows 10 但我不确定
  • 矩形函数的数值傅里叶变换

    本文的目的是通过一个众所周知的分析傅里叶变换示例来正确理解 Python 或 Matlab 上的数值傅里叶变换 为此 我选择矩形函数 这里报告了它的解析表达式及其傅立叶变换https en wikipedia org wiki Rectan
  • GUI(输入和输出矩阵)?

    我需要创建一个 GUI 将数据输入到矩阵或表格中并读取此表单数据 完美的解决方案是限制输入表单仅允许float 例如 A 1 02 0 25 0 30 0 515 0 41 1 13 0 15 1 555 0 25 0 14 1 21 2
  • 从 Powershell 脚本安装 Python

    当以管理员身份从 PowerShell 命令行运行以下命令时 可以在 Windows 11 上成功安装 Python c temp python 3 11 4 amd64 exe quiet InstallAllUsers 0 Instal
  • 使用 Python Oauthlib 通过服务帐户验证 Google API

    我不想使用适用于 Python 的 Google API 客户端库 但仍想使用 Python 访问 Google APIOauthlib https github com idan oauthlib 创建服务帐户后谷歌开发者控制台 http
  • Django 视图中的“请求”是什么

    在 Django 第一个应用程序的 Django 教程中 我们有 from django http import HttpResponse def index request return HttpResponse Hello world
  • pandas - 包含时间序列数据的堆积条形图

    我正在尝试使用时间序列数据在 pandas 中创建堆积条形图 DATE TYPE VOL 0 2010 01 01 Heavy 932 612903 1 2010 01 01 Light 370 612903 2 2010 01 01 Me
  • 找到一个数字所属的一组范围

    我有一个 200k 行的数字范围列表 例如开始位置 停止位置 该列表包括除了非重叠的重叠之外的所有类型的重叠 列表看起来像这样 3 5 10 30 15 25 5 15 25 35 我需要找到给定数字所属的范围 并对 100k 个数字重复该
  • PySpark groupByKey 返回 pyspark.resultiterable.ResultIterable

    我试图找出为什么我的 groupByKey 返回以下内容 0
  • Python:Goslate 翻译请求返回“503:服务不可用”[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我们不允许提出寻求书籍 工具 软件库等推荐的问题 您可以编辑问题 以便用事实和引文来回答 这个问题似乎不是关于主要由程序员使用的特定编程问
  • 每当使用 import cv2 时 OpenCV 都会出错

    我在终端上使用 pip3 install opencv contrib python 安装了 cv2 并且它工作了 但是每当我尝试导入 cv2 或运行导入了 cv2 的 vscode 文件时 在 python IDLE 上它都会说 Trac
  • 将索引与值交换的最快方法

    考虑pd Series s s pd Series list abcdefghij list ABCDEFGHIJ s A a B b C c D d E e F f G g H h I i J j dtype object 交换索引和值并
  • pytest找不到模块[重复]

    这个问题在这里已经有答案了 我正在关注pytest 良好实践 https docs pytest org en latest explanation goodpractices html test discovery或者至少我认为我是 但是

随机推荐

  • 如何在 MATLAB 中创建元胞数组并将所有元素初始化为同一对象?

    我有一个矩阵 称之为X 被初始化为zero 3 我想更改代码以便X是一个大小为 比如说 的元胞数组 3 1 并将每个元素初始化为zero 3 我可以用循环来完成 但是有更好的方法吗 X cell 3 1 for ii 1 numel X X
  • 在chainer中,如何使用chainer.training.Trainer提前停止迭代?

    我正在使用 chainer 框架 深度学习 假设一旦两次迭代的目标函数值差距很小 我就必须停止迭代 f old f lt eps 但 chainer training Trainer 的 stop trigger 是 args epoch
  • 如何在 ARM 汇编中访问位置无关代码 (PIC) 中的数据?

    我正在使用 GCC 选项 mpic data is text relative and fpic生成位置无关的代码 这对于我的 C 代码来说效果很好 但我也有需要使用PIC的汇编代码 问题是我找不到如何实现这一目标的示例 是否有一些 ARM
  • sdkmanager 警告:无法下载任何源列表

    我已经花了几个小时来解决这个问题并尝试了一切 但我无法克服这个障碍 我打算使用 Apache Cordova 创建一个 APK 同时尝试执行sdkmanager list 我得到这个输出 C Windows system32 gt sdkm
  • 在通过本地主机传输期间,OSI 模型使用了哪些层?

    通过 localhost 地址或 127 0 0 1 传输数据时 OSI 模型中使用了哪些层 我相信通信从应用程序层开始 一直向下直到某个层 但没有数据经过物理层 或者有吗 到 127 0 0 1 的流量将由 TCP IP 模型的互联网层环
  • 从单应性分解中找到最合适的旋转和平移

    我试图从单应性函数中找到旋转和平移 首先我计算相应的特征点并使用findHomography 我计算了单应性矩阵 然后 使用decomposeHomographyMat 我得到了四个旋转和平移结果 我使用的代码如下 Mat frame 1
  • Git fetch/pull 已停止工作

    Git fetch 和 pull 昨天在服务器 AWS 实例 上停止工作 git fetch ERROR Repository not found fatal The remote end hung up unexpectedly 该实例上
  • 如何找到仅包含/由给定字符序列组成的单词

    我希望循环遍历字典文件并查找仅包含给定字符的单词 示例 dgo 期望结果 狗 神 NOT 包含 其中 给定字符的单词 我正在使用以下代码 while dictionaryWord br readLine null if dictionary
  • Wildfly 上基于 WSDL 的 Web 服务

    我正在尝试创建一个简单的基于 WSDL 的 Web 服务 以便使用 Apache CXF 部署在 Wildfly 上 我尝试使用 wsdl 文件进行标准 web xml cxf servlet xml 配置 但服务器给出了以下错误 在 ws
  • Mockito - 验证双精度值

    我有一个名为 method1 的方法 它采用在 myManager 上调用的双精度值 我正在传递这个 65 888 60 当我尝试验证这一点时 我遇到了浮点问题 验证失败 它预计 3953 28 但 3953 280029296875 ve
  • 您如何命名单元测试方法?

    命名单元测试方法的一般规则是什么 相信很多人也想知道这个问题 假设 被测试的方法是 public Customer GetCustomerById int id 您如何命名您的单元测试方法 GetCustomerById GetCustom
  • 读取和写入日历

    我的目标是阅读和编写日历 我能够从 content calendar calendars 和 content calendar events 读取数据 String uriString content calendar calendars
  • PHPStan 中未定义变量,但已在其他地方声明

    PHPStan 中如何处理这些场景 假设您使用纯 PHP 作为模板引擎 例如 view php b b
  • SQL 查询选择除最大值之外的所有内容

    我有一个相当复杂的查询 它从三个表中获取数据 现在我希望它变得更加复杂 天哪 我希望最后发布的功能显示在页面的它自己的部分中 通过选择表中的最后一个条目非常容易 但是 对于复杂的查询 网站的主页 我希望能够不显示此功能 我想union对我之
  • Task.WaitAll,如何找到导致AggregateException的任务

    假设我得到以下代码 var tasks BuildTaskList try Task WaitAll tasks ToArray catch AggregateException exception 我如何知道哪个任务引发了哪个异常exce
  • 随机选择子目录中的 x 个文件

    我需要在数据集中随机抽取 10 个文件 图像 但该数据集是分层结构的 所以我需要每个包含图像的子目录只随机保存 10 个图像 有没有一种简单的方法可以做到这一点 或者我应该手动进行 def getListOfFiles dirName cr
  • 如果栅格值 NA 搜索并提取最近的非 NA 像素

    在将栅格的值提取到点时 我发现我有几个NA的 而不是使用buffer and fun的论点extract函数 相反我想提取最近的非NA像素到重叠的点NA 我正在使用基本的提取功能 data extr lt extract loc thr d
  • 如何让超级代理回报承诺

    我一直在学习 Node Javascript 从一开始就使用 Promise 我不知道如何not使用承诺并经常想知道如果没有它们 其他人会如何相处 所以我有时需要 承诺 简单的事情 比如用fs var readFile function p
  • NSUserScriptTask:接受的文件类型?

    我正在使用 NSUserScriptTask 运行用户放置在应用程序脚本目录中的脚本 但是 我发现很难找出 NSUserScriptTask 接受的已知脚本类型以及docs http developer apple com library
  • 在Python中使用paramiko打开远程文件慢[重复]

    这个问题在这里已经有答案了 我正在使用 paramiko 在 python 中打开远程 sftp 文件 使用 paramiko 返回的文件对象 我正在逐行读取文件并处理信息 与使用 os 中的 python 内置方法 open 相比 这看起