unpack_from 需要至少 1164 字节的缓冲区 [关闭]

2024-03-06

我正在使用 struct 来解析固定宽度字符串。但是,我在处理大于 1000 字节的固定宽度字符串时遇到了一些麻烦。

例如,当我执行以下代码时:

import struct
fmt = '2s25s16s1s40s2s1s1s2s9s1s6s10s25s2s2s9s8s2s2s4x8s2x2s2s2s2s2s1x13s6s2s2s2s2s1x3s4s6s4s12x1s2s1x7s1s2s2s2s2s2s1x3s6x2s2x2s2x2s2x2s2x2s2x2s6s2x1s4x4s2s2s2s2s2s2s2s8x3s3s3s3s3s3s3s3s3s2s2s2s2s2s2s8s2x2s2s2s2s2s150s50s4x1s2s8s15x30s30s10s15s15s10s10s10s10s12s3s3s3s3s1s3s3s1x15s2s3s8s2s2s2s2s2s16s2s3s2x2s3s2x1s1s2s2s3s3s2s2s3s3s2s2s3s3s2s2s3s3s2s2s3s3s2s2s3s3s2s2s3s3s2s2s3s3s2s2s3s3s2s2s3s3s2s2s3s3s10x2s2s3s3s2s2s3s3s2s2s3s3s2s2s3s3s2s2s3s3s2s2s3s3s42s6s21s3s3s3s3s3s3s3s3s3s3s3s3s7s'
parse = struct.Struct(fmt).unpack_from

line = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ123456'
parse(line.encode())

我收到以下错误:

Traceback (most recent call last):
  File "so.py", line 6, in <module>
    parse(line.encode())
struct.error: unpack_from requires a buffer of at least 1164 bytes

我一直在寻找将缓冲区设置为 1164 字节的方法,但没有成功。


我们来看看https://docs.python.org/3.0/library/struct.html#struct.unpack_from https://docs.python.org/3.0/library/struct.html#struct.unpack_from首先,它说:

根据给定的格式解压缓冲区。结果是 元组,即使它只包含一项。缓冲区必须包含 格式所需的最少数据量 (len(buffer[offset:]) 必须至少为 calcsize(fmt))。

让我们先在你的 fmt 上尝试 calcsize,print(struct.calcsize(fmt))1164 说。

现在让我们看看缓冲区的长度len(line),它说 1050。

所以错误是因为您没有遵循文档提供的指南......

PS: parse((line+line[0:struct.calcsize(fmt)-len(line)]).encode())

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

unpack_from 需要至少 1164 字节的缓冲区 [关闭] 的相关文章

  • Python argparse 作为函数

    以这种方式获取命令行参数有什么本质上的错误吗 我的意思是把参数解析放入它自己的函数中 它会被认为是非 Pythonic 或更严重吗 usr bin python import argparse def getArgs argv None p
  • 使用 pdfkit 和 FastAPI 下载 PDF 文件

    我将使用 FastAPI 创建一个 API 将HTML页面到 PDF 文件 使用pdfkit 但是 它将文件保存到我的本地磁盘 当我在线提供此API后 用户如何将该PDF文件下载到他们的计算机上 from typing import Opt
  • 从 Excel 获取输入并在 python 脚本中使用这些输入

    如何从 excel 获取输入并在 python 中使用这些输入 看一眼xlrd http pypi python org pypi xlrd 这是我发现的学习如何使用它的最佳参考 http www dev explorer com arti
  • 在 Python 中比较浮点数是否几乎相等的最佳方法是什么?

    众所周知 由于舍入和精度问题 比较浮点数是否相等有点繁琐 例如 比较浮点数 2012 年版 https randomascii wordpress com 2012 02 25 comparing floating point number
  • 扭曲多种协议

    我希望为我正在从事的项目学习扭曲 该项目需要服务器响应 HTTP 请求以及通过 TCP 连接的其他协议 Twisted能够同时处理多种协议吗 我想使用 Twisted Web 来帮助处理 HTTP 但同时需要响应其他端口上的 TCP 连接
  • Native TF 与 Keras TF 性能比较

    我使用本机和后端张量流创建了完全相同的网络 但在使用多个不同参数进行了多个小时的测试后 仍然无法弄清楚为什么 keras 优于本机张量流并产生更好 稍微但更好 的结果 Keras 是否实现了不同的权重初始化方法 或者执行除 tf train
  • 以编程方式结束/退出粘合作业

    我正在使用 Glue 书签来处理数据 我的工作是每天安排的 但也可以 手动 启动 由于我使用书签 有时胶水作业可以在没有新数据要处理的情况下启动 然后读取的数据帧为空 在这种情况下 我想好好地结束我的工作 因为它没有什么关系 我试过 if
  • NLTK:包错误?朋克和泡菜?

    基本上 我不知道为什么会收到此错误 只是为了获得更多图像 这里有一个代码格式的类似消息 由于是最新的 该帖子的答案已经在消息中提到 Preprocessing raw texts LookupError Traceback most rec
  • python:numpy 运行脚本两次

    当我将 numpy 导入到 python 脚本中时 该脚本会执行两次 有人可以告诉我如何阻止这种情况 因为我的脚本中的所有内容都需要两倍的时间 这是一个例子 usr bin python2 from numpy import print t
  • 在 Python 中倾斜数组

    我有一个 2D 数组 我将使用它保存为灰度图像scipy misc toimage 在此之前 我想将图像倾斜给定角度 像这样进行插值scipy ndimage interpolation rotate 上图只是为了说明倾斜过程 我知道我必须
  • 在Python中整齐地绘制PMF

    有没有一个库可以帮助我在 python 中整齐地绘制样本的概率质量函数 如下所示 通过matplotlib pyplot的stem模块 matplotlib pyplot stem args kwargs from matplotlib p
  • PyQt5 的 OpenGL 模块和版本控制问题(调用不正确的 _QOpenGLFunctions_(ver))

    我一直在努力得到PyQt5 helloGL 示例代码 https github com baoboa pyqt5 blob master examples opengl hellogl py编译 当我尝试构建解决方案时 我得到 Traceb
  • 如何使用Peewee查询多个相似的数据库?

    我遇到了使用 Peewee 查询多个数据库的问题 我有 2 个现有的 mysql 数据库 让我们将它们命名为 A 和 B 结构相似 因为它是两个 Bugzilla 数据库 我使用 Pwiz 生成模型 modelsA py 和 modelsB
  • 将具有多个时区的 pandas 列转换为单个时区

    Problem 我在 pandas DataFrame 中有一个列 其中包含带有时区的时间戳 此列中有两个不同的时区 我需要确保只有一个 这是该列末尾的输出 260003 2019 05 21 12 00 00 06 00 260004 2
  • 在 Python 中通过网络发送对象的最佳方式是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我需要通过网络发送对象 我将使用 Twisted 并且我刚刚开始查看它的文档 据我所知 python实现套接字的唯一方式是通过文本 那么我如何使
  • 如何在 Windows 7 中使用 Python 廉价地创建非常大的文件? [复制]

    这个问题在这里已经有答案了 可能的重复 在Windows系统上快速创建大文件 https stackoverflow com questions 982659 quickly create large file on a windows s
  • Django - 渲染到字符串无法加载 CSS

    我正在尝试使用 Django 1 8 render to string 通过管理命令将 html 转换为 pdf 而不是使用 View request 以下代码可以将模板转换为 pdf 但它无法将 CSS 加载到模板中 def html t
  • Pandas 数据框可对多列和要列出的值进行字典

    我有一个数据框 id key a1 1 a2 1 a3 1 a4 2 a5 2 a6 3 我想创建一本字典key作为机器号 并且id列作为列表 like 1 a1 a2 a3 2 a4 a5 3 a6 我可以先使用 groupby 然后再使
  • 如何使用多阶段构建减小 python (docker) 图像大小?

    我正在寻找一种使用 python 和 Dockerfile 创建多阶段构建的方法 例如 使用以下图像 第一张图片 安装所有编译时要求 并安装所有需要的 python 模块 第二张图片 将所有已编译 构建的包从第一个映像复制到第二个映像 而不
  • 我可以以某种方式“编译”一个Python脚本以在没有安装Python的PC上运行吗?

    所以我有一个Python脚本 myscript py 我是这样执行的 python D myscript py 但是 我必须安装 Python 并将其包含在PATH使其工作的环境变量 是否有可能以某种方式将 Python 可执行文件与 Py

随机推荐

  • 如何管理pouchdb和couchdb同步?

    存储多个用户数据的最佳方法是每个用户每个数据库 我正在使用同样的方法 我在服务器上有 couchdb 在移动应用程序上有 pouchdb 我通过在 pouchdb 和 couchdb 中为用户创建单独的数据库来维护每个用户数据 这意味着我在
  • 将 ssh 密钥与 scp 和 ssh 结合使用

    我正在尝试使用 scp 将一些文件复制到目标系统 然后登录到系统并安装这些文件 我在这里使用 scp 和 ssh 命令以及 ssh 密钥进行无密码身份验证 ssh 密钥是在源系统上创建的 如下所示 这是创建 ssh 密钥的正确且安全的方法吗
  • 为什么我不能在java中的Frame上画任何东西?

    编码就在这里 我无法在框架内创建任何矩形或圆形 该项目的目标是创建转换 celcius 2 华氏度和华氏度 2 摄氏度 所以我想要的是 请教我如何在框架旁边绘制矩形或椭圆形 import java awt BorderLayout impo
  • JESS 引擎的网页不可用

    http www jessrules com http www jessrules com and https herzberg ca sandia gov https herzberg ca sandia gov 不要再工作了 我如何获得
  • graphql-codegen 未使用配置文件运行

    In my package json文件我有运行的脚本条目graphql codegen但它抱怨说 config参数无效 gt yarn gen yarn run v1 21 1 graphql codegen config codegen
  • 气流动态 dag 创建

    有人请告诉我气流中的 DAG 是否只是一个图表 如占位符 没有任何与其关联的实际数据 如参数 或者 DAG 是否像一个实例 对于固定参数 我想要一个系统 其中要执行的操作集 给定一组参数 是固定的 但每次运行这组操作时 该输入都会不同 简单
  • Angular 2注入在继承中不起作用

    最近我们从 Angular 2 0 升级到 2 4 从那时起我们就遇到了继承问题 如果我们调用子进程 所有依赖项都会变得未定义 孩子没有构造函数 这意味着它使用父亲的构造函数 这是代码 Injectable export class Chi
  • 使用 ajax 下拉菜单中的 onclick 事件更新隐藏的输入值

    我正在使用 MachForm 并添加了这个隐藏字段
  • Spring Boot - 在 application.properties 中获取 Spring-Kafka 客户端 ID 的主机名

    我正在使用 Spring Kafka 和 Boot 开发一个项目 并且希望在 application properties 中获取属性 spring kafka consumer client Id 的主机名 以便可以在服务器端日志中区分我
  • 修改C中的char*字符串

    我有这个 char original html content 并想插入一个新的 char mycontent newhtmlinsert 进入之前的 原文 标签在 原始 中 我的新原版现在是 char neworiginal html c
  • 在 Visual Studio 中调试时访问异常中断过滤器的更好方法?

    我厌倦了在 Visual Studio 中使用令人眼花缭乱 耗时的 异常 对话框来打开和关闭异常中断过滤器 我寻找 Visual Studio 命令来帮助从命令窗口自动执行此操作 但没有成功 有没有人有一种技术可以避免 调试 gt 异常 对
  • 有效检查两个浮点值是否具有不同的符号

    我需要查找是否有两个有限浮点值A and B有不同的符号或其中之一为零 在许多代码示例中 我看到测试如下 if A lt 0 B gt 0 A gt 0 B lt 0 它工作正常 但对我来说看起来效率低下 因为这里验证了许多条件 并且每个条
  • SQL 查询返回几十年来的最大值

    这是使用 MYSQL我的问题如下 我有一个棒球数据库 在该棒球数据库中有一个主表 其中列出了曾经参加过比赛的每个球员 还有一个击球表 跟踪每个球员的击球统计数据 我创建了一个将这两者结合在一起的视图 因此masterplusbatting桌
  • 如何在 Django 模型中存储任意名称/值键对?

    我有一个包含很多数据字段的固定数据模型 class Widget Models model widget owner models ForeignKey auth User val1 models CharField val2 models
  • Python 中的硒

    我一直在使用 urllib2 访问网页 但它不支持 javascript 所以我看了一下 Selenium 但即使读了它的文档我也很困惑 我下载了适用于 Firefox 的 Selenium IDE 插件 并尝试了一些简单的操作 from
  • 如何将 C# 方法作为回调传递给 CLI/C++ 函数?

    我在 C CLI 中有这样的方法 void Foo OnEngineCloseCallback callback 具有这样的回调定义 typedef void OnEngineCloseCallback int String errorMe
  • SQL Server - 过去 12 个月的累计总和,但从上个月开始 (SQL Server 18)

    我需要计算过去 12 个月内某个值的累计总和 到目前为止 我的累积计算正在运行 但从当月开始 我需要过去 12 个月的总计 从从上个月开始 目前 我正在使用OVERSQL 子句 从当前行 月开始运行累积总计 请参考下面我的代码示例 SELE
  • 如何将外部资源(属性文件)添加到类路径中以便 war 可以读取?

    我们在将外部目录 具有 config properties 添加到类路径时遇到了小问题 如果我们将其添加到类路径中 我们应该能够在 Web 应用程序中读取它 Web 应用程序中有一些 Spring 应用程序会读取外部属性文件 我在任何地方都
  • CSS @font-face 不适用于 Firefox,但适用于 Chrome 和 IE

    以下代码适用于 Google Chrome beta 以及 IE 7 但是 Firefox 似乎存在问题 我怀疑这是我的 CSS 文件包含方式的问题 因为我知道 Firefox 对于跨域导入不太友好 但这只是静态HTML 不存在跨域问题 在
  • unpack_from 需要至少 1164 字节的缓冲区 [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我正在使用 struct 来解析固定宽度字符串 但是 我在处理大于 1000 字节的固定宽度字符串时遇到了一些麻烦 例如