Python 在二进制文件中搜索和替换

2024-01-04

我正在尝试搜索并替换此 pdf 表单文件(header.fdf,我认为这被视为二进制文件)中的一些文本(例如“Smith,John”):

'%FDF-1.2\n%\xe2\xe3\xcf\xd3\n1 0 obj\n<</FDF<</Fields[<</V(M)/T(PatientSexLabel)>><</V(24-09-1956  53)/T(PatientDateOfBirth)>><</V(Fisher)/T(PatientLastNameLabel)>><</V(CNSL)/T(PatientConsultant)>><</V(28-01-2010 18:13)/T(PatientAdmission)>><</V(134 Field Street\\rBlackburn BB1 1BB)/T(PatientAddressLabel)>><</V(Smith, John)/T(PatientName)>><</V(24-09-1956)/T(PatientDobLabel)>><</V(0123456)/T(PatientRxr)>><</V(01234567891011)/T(PatientNhsLabel)>><</V(John)/T(PatientFirstNameLabel)>><</V(0123456)/T(PatientRxrLabel)>>]>>>>\nendobj\ntrailer\n<</Root 1 0 R>>\n%%EOF\n'

After

f=open("header.fdf","rb")
s=f.read()
f.close()
s=s.replace(b'PatientName',name)

出现以下错误:

Traceback (most recent call last):
  File "/home/aj/Inkscape/Med/GAD/gad.py", line 56, in <module>
    s=s.replace(b'PatientName',name)
TypeError: expected an object with the buffer interface

如何最好地做到这一点?


f=open("header.fdf","rb")
s=str(f.read())
f.close()
s=s.replace(b'PatientName',name)

or

f=open("header.fdf","rb")
s=f.read()
f.close()
s=s.replace(b'PatientName',bytes(name))

可能是后者,因为我认为无论如何你都无法使用带有这种类型替换的 unicode 名称

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

Python 在二进制文件中搜索和替换 的相关文章

  • 没有任何元数据的 zip 文件

    我想找到一种简单的方法来压缩一堆文件 而无需任何文件元数据 例如时间戳 这zip命令似乎总是保留元数据 我没有找到禁用元数据的方法 我希望解决方案是一个命令或最多一个 python 脚本 谢谢 正如一些帖子已经指出的那样 zip 标头中的大
  • 在 Numpy 中切片后确定结果数组的形状

    我很难理解在 numpy 中切片后如何确定结果数组的形状 例如 我使用以下简单代码 import numpy as np array np arange 27 reshape 3 3 3 slice1 array 1 2 1 slice2
  • on_delete=models.PROTECT 和 on_delete=models.CASCADE 在 Django 模型上有什么作用?

    我对 Django 很熟悉 但最近注意到有一个on delete models CASCADE and on delete models PROTECT模型的选项 on delete models CASCADE and on delete
  • 如何确定非阻塞套接字是否真正连接?

    这个问题不仅限于Python 这是一个一般的套接字问题 我有一个非阻塞套接字 想要连接到一台可访问的机器 在另一端 该端口不存在 为什么 select 仍然成功 我预计会超时 sock send 因管道损坏而失败 select 之后如何确定
  • 在python中将文本文件解析为列表

    我对 Python 完全陌生 我正在尝试读取包含单词和数字组合的 txt 文件 我可以很好地读取 txt 文件 但我正在努力将字符串转换为我可以使用的格式 import matplotlib pyplot as plt import num
  • 如何从 PyCharm 项目中获取我的“exe”[重复]

    这个问题在这里已经有答案了 通过 PyCharm 在 Python 上编写一些项目 我想从中获取一个exe文件 我尝试过 另存为 gt XXX exe 但是 当我尝试执行它时出现错误 此类操作系统不支持该文件 附注 我有win7 x64 它
  • python 中分割字符串以获得一个值?

    需要帮助 假设我在名为 input 的变量中有一个字符串 Sam Person name kind input split 通过执行上述操作 我得到两个具有不同字符串 Sam 和 Person 的变量 有没有办法只获取第一个值 name S
  • sudo pip install python-Levenshtein 失败,错误代码 1

    我正在尝试在 Linux 上安装 python Levenshtein 库 但每当我尝试通过以下方式安装它时 sudo pip install python Levenshtein 我收到此错误 命令 usr bin python c 导入
  • “char”/“character”类型的类型提示

    char 或 character 没有内置的原始类型 因此显然必须使用长度为 1 的字符串 但是为了暗示这一点并暗示它应该被视为一个字符 如何通过类型提示来实现这一点 grade chr A 一种方法可能是使用内置的 chr 函数来表示这一
  • Python Kivy - 在本机网络浏览器中打开 url 的应用程序

    我尝试制作一个简单的应用程序 在单击 Screen One 上的按钮后 在 Kivy 中打开一个网页 我使用了这个主题 Python 在应用程序中直接显示网络浏览器 iframe https stackoverflow com questi
  • 创建一个类似于 Tkinter 的表

    我希望创建类似于 Tkinter 中的表格的东西 但它不一定是这样的 例如 我想创建标题 Name1 Name2 Value 并在每个标题下面有几个空白行 然后 我希望稍后用我计算的值或名称的字符串值填充这些行 因此是标签 对于 Name2
  • 如何在 Python 中将彩色输出打印到终端?

    是否有与 Perl 等效的 Python 语言 print color red print
  • 将输入发送到 python 子进程而不等待结果

    我正在尝试为一段代码编写一些基本测试 该代码通常通过 stdin 无休止地接受输入 直到给出特定的退出命令 我想检查程序是否在给出一些输入字符串时崩溃 经过一段时间来考虑处理 但似乎无法弄清楚如何发送数据而不是陷入等待我不知道的输出关心 我
  • 无法截取宽度为 0 的屏幕截图

    我正在尝试截取 Bootstrap 模态内元素的屏幕截图 经过一番努力 我终于想出了这段代码 driver get https enlinea sunedu gob pe driver find element by xpath div c
  • conda-env list / conda info --envs 如何查找环境?

    我一直在尝试 anaconda miniconda 因为我的用户使用随 miniconda 安装的结构生物学程序 并且作者都没有 A 考虑到可能存在其他 miniconda 应用程序 B 他们的程序将在多用户环境中使用 因此 使用 Arch
  • 在 MacO 和 Linux 上安装 win32com [重复]

    这个问题在这里已经有答案了 我的问题很简单 我可以安装吗win32com蟒蛇API pywin32特别是 在非 Windows 操作系统上 我一直在Mac上尝试多个版本pip install pywin32 都失败了 下面是一个例子 如果你
  • 如何在与应用程序初始化文件不同的文件中迭代 api 路由

    我有一个 apiroutes py 文件 其中定义了许多路由 例如 api route api read methods GET api route api write methods POST 其中 api 是导入 from import
  • 查找给定节点的最高权重边

    我在 NetworkX 中有一个有向图 边缘的权重从 0 到 1 表示它们发生的概率 网络连通性非常高 所以我想修剪每个节点的边缘 只保留最高概率的节点 我不确定如何迭代每个节点并仅保留最高权重in edges在图中 有没有一个networ
  • Python组合目录中的所有csv文件并按日期时间排序

    我有 2 年的每日数据分成每月文件 我想将所有这些数据合并到一个按日期和时间排序的文件中 我正在使用的代码组合了所有文件 但不按顺序 我正在使用的代码 import pandas as pd import glob os import cs
  • 检查字符串是否只有字母和空格 - Python

    试图让 python 返回一个字符串仅包含字母和空格 string input Enter a string if all x isalpha and x isspace for x in string print Only alphabe

随机推荐

  • 5秒后未完成时取消长时间运行的任务

    我创建了一个创建 XML 字符串的任务 该任务可能持续数秒 当任务在 5 秒后未完成时 我想 顺利 取消任务并继续编写 XML 的其余部分 所以我在我的任务中内置了取消功能 但是尽管我在日志中看到以下消息 ProcessInformatio
  • C# 中控制台的最大列数

    在 C 控制台应用程序中 我发现您可以使用Console SetWindowSize 160 80 设置控制台窗口的大小 这很棒 除了最大行数和列数完全取决于个人计算机的显示分辨率这一事实之外 你打电话时Console SetWindowS
  • 与其他应用程序共享图像

    这是我的问题 我想分享一张 png 图像 我有可绘制和资产中的图像 当我使用共享意图时 它可以工作 但不是以我想要的方式 共享的文件显示为数字且不带扩展名 并且某些应用程序会发送消息 未知文件 我能做些什么 这是我的代码 Uri uri U
  • UITableView 代表的超类?

    一个简单的问题 我正在为 UITableView 设置委托 并且有一个关于设置委托和 dataSource 属性的问题 我注意到委托和数据源的属性不可用 我认为采用协议将使它们可用 但我现在认为我的委托类的超类可能是错误的 目前我有 voi
  • 找出php文件类型

    请告诉我如何检查文件的真实类型 当执行imagecreatefrompng 函数 它显示错误 is not a valid PNG file mime content type says image png file
  • 如果最终删除/插入数组的时间复杂度相等,为什么要使用链表?

    我有以下问题 如果删除数组元素的时间复杂度是 O n 并且链表 给定索引 的时间复杂度也是 O n 因为我还需要搜索整个列表 为什么要使用链表 虽然渐近复杂度可能相同 但常数因子可能非常不同 特别是 您可能拥有一组 大 的东西 移动或复制的
  • C# 如何将字符串转换为唯一ID

    假设我们有 string name stackoverflow com 如何将此字符串 int 转换为唯一 ID 或某种哈希值 没有md5 因为它太大 并且它不应该是随机的 我想要这样的东西 请注意字符串本身太大我想知道字符串是否可以写得更
  • Oracle SQL:使用 regexp_substr 返回字符串的第一行

    我试图从 SQL 查询 oracle 11 中的文本框中返回第一行文本 文本框的内容如下所示 X WITHDRAWN Explanation 我想返回顶行 即 X 撤回 我不确定是否可以指定仅查看第一行 或者仅返回回车符之前的所有文本 两者
  • 每次在 vim 中编辑后保存文件

    我经常在 vim 中执行此操作 在插入或正常模式下执行某些操作 Esc ws 我每天都会这样做数百次 相反 我想放弃这个习惯 并在对缓冲区进行任何更改后立即将 vim 保存到文件 一切都在 SSD 上运行 所以我不认为性能会成为问题 将这个
  • initKeyboardEvent 的基本示例

    I m trying to find a basic example of the use of initKeyboardEvent Ideally I want to create a keyboard event where when
  • 在 Angular2 中构建包装器指令(包装一些内容/组件)

    我对 Angular2 的构建指令非常新 我想要的是创建一个弹出指令 它将用一些 css 类包装内容 Content 内容可以是纯文本和标题 例如 div class data h2 Header h2 Content to be plac
  • PHP 中的 UTF-8 字符乱码

    我有要
  • 使用 Javascript 下载文件

    我希望用户能够从我的服务器下载这个 Excel 文件 单击 下载 按钮后必须有一种简单的方法来启动文件的下载 但我不知道如何实现这一点 到目前为止我已经有了 VBscript 和 ASP Set fs Server CreateObject
  • 有没有办法获取Z3中的默认上下文?

    我正在使用 z3py API 4 3 0 我可以轻松翻译一个表达expr从默认上下文到新上下文target ctx using expr translate target ctx 但是我如何从给定的上下文中进行翻译ctx进入默认的 Z3 上
  • 如何以编程方式检查 Android 中是否安装了应用程序?

    我们已经以编程方式安装了应用程序 如果设备中已安装该应用程序 则该应用程序会自动打开 否则安装特定的应用程序 引导我 我不知道 谢谢 尝试用这个 public class MainActivity extends AppCompatActi
  • 如何计算两个日期之间的网络日减去假期

    我想了解如何应用像这样的函数NETWORKDAYS https support office com en us article NETWORKDAYS function 48e717bf a7a3 495f 969e 5005e3eb18
  • 如何使用 PHP 重定向到另一个页面[重复]

    这个问题在这里已经有答案了 我正在建立一个包含登录页面的网站 我需要在用户成功登录后将其重定向到他们的个人资料页面 但我不知道如何在 PHP 中执行此操作 这是我的第一个网站 我在互联网上搜索过并被告知header 函数应该可以解决问题 但
  • 如何更改 Bootstrap 5 导航栏按钮边框和图标颜色?

    我需要在 Bootstrap 5 导航栏菜单按钮上使用自定义颜色 760822
  • 在具有不同实例数量的特定列上合并两个不同长度的数据帧

    我有两个数据框 D1 和 D2 两者的大小不同 但有一定的关系 D1 的 ID 列具有相同 ID 的多个实例 而 D2 仅具有单个实例 那么如何将这两个数据帧连接在一起呢 D1 D2 ID val1 val2 ID Target 1 x y
  • Python 在二进制文件中搜索和替换

    我正在尝试搜索并替换此 pdf 表单文件 header fdf 我认为这被视为二进制文件 中的一些文本 例如 Smith John FDF 1 2 n xe2 xe3 xcf xd3 n1 0 obj n lt Fields lt T Pa