将两个二进制文件合并为第三个二进制文件

2023-12-10

我正在尝试将两个二进制文件合并到Python 中的第三个二进制文件。我的代码:

input1 = input2 = ""

input1 = open('input1.bin').read()
input2 = open('input2.bin').read()

input1 += input2 

with open('Output.bin', 'w') as fp:
    fp.write(input1)

这段代码没有给我任何错误,但这没有生成预期的输出。

就像,如果我编写批处理命令来合并文件:

copy /b input1.bin+input2.bin Output.bin

该命令正在生成Output.bin大小为 150KB,而之前的 python 命令给出的输出文件大小为 151KB。

我也尝试过这个:

with open('Output.bin', 'wb') as fp:
    fp.write(input1)

即使用二进制模式编写,但这给了我错误:

TypeError: a bytes-like object is required, not 'str'

正确的过程是什么?


针对之前的错误引用了此:类型错误:在 Python3 中写入文件时需要类似字节的对象,而不是“str”

该解决方案不起作用.


使用Python 3.7


出现此错误的原因( TypeError: a bytes-like object is required, not 'str' when write to a file in Python3)是因为:
您以文本模式(这是默认模式)读取文件,因此 input1 和 input2 变成字符串,并且您尝试以二进制模式将它们写回(您需要 input1 成为类似字节的对象)。一种方法是以二进制模式读取文件本身,如下所示。

# Try reading the file in binary mode and writing it back in binary 
# mode. By default it reads files in text mode  
input1 = open('input1.bin', 'rb').read()
input2 = open('input2.bin', 'rb').read()

input1 += input2 

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

将两个二进制文件合并为第三个二进制文件 的相关文章

随机推荐

  • 将 Selenium HTML 源代码存储到 HTMLDocument 类型的元素中

    是否可以将使用 Selenium 使用 Excel VBA 抓取的 HTML 源存储到HTMLDocument元素 这是一个使用的示例Microsoft Internet Controls and Microsoft HTML Object
  • 使用智能指针实现简单的单链表

    你好 我正在尝试使用智能指针实现一个简单的单链表 这是我到目前为止所拥有的 我选择使用 C 的shared ptr 但我读到 unique ptr 更适合这种情况 但是 我真的不知道知道如何迭代列表 即 currentNode curren
  • Laravel 访问公共文件夹之外的图像

    我需要在后端存储登录用户的图像 存储的图像需要受到保护 并且从外部 公众 不可见 我为此选择了一个 存储 文件夹 我在我的控制器中想出了这个 public function update Request request id Show th
  • 如何允许 EF4 CodeFirst 数据库初始化程序在开发中运行,但不在生产中运行

    我正在尝试在线部署我的第一个 alpha 版本的系统 供少数人开始使用 在开发过程中我大量使用DropCreateDatabaseOnModelChange
  • 如何在 Python 中输入转义序列? [复制]

    这个问题在这里已经有答案了 假设你编写了以下程序 a input Input print a 并尝试输入换行符 n Input a nb a nb 输入未被视为 n字符而是作为两个单独的字符 and n 如何将带有转义序列的输入视为转义序列
  • PHP 表单复选框和未定义索引

    提交带有未选中复选框的表单时 出现 未定义索引 错误 除了对每个单独的发布值运行 isset 或 empty 检查之外 还有其他方法吗 我看过这个Question我很难相信这是唯一的解决方案 下面是一些示例代码 编辑 请注意 这些不是表列的
  • 在 R 中将粘贴和替换与引号结合使用

    请注意 我已经看过了this and that但仍然无法解决我的问题 假设一个最小的工作示例 a lt c 1 2 3 b lt c 2 3 4 c lt c 4 5 6 dftest lt data frame a b c foo lt
  • Ajax 表单与 Google 隐形 Recaptcha

    我的代码 function onSubmit token document ready function submit click function var name name val var email email val var pas
  • 如何将第一响应者从一个 UIView“转移”到另一个 UIView?

    我有一个 UIView 子类 CustomView出于这个问题的目的 它有自己的所有处理touches事件 开始 移动 结束 取消 我也有一个UIButton这是一个兄弟姐妹CustomView与它重叠的 例如 我的视图层次结构如下所示 U
  • 如何在 VB.NET 中填充组合框

    我有一个代码来填充我的组合框 但每次我关闭表单时 列表都会加倍 如果我关闭表单并再次打开它后 我的英语 数学 科学数据库中有一个列表 则列表现在显示为英语 数学 科学 英语 数学 科学 这是代码 Call OpenDB cmd Comman
  • 雪花支持ssl吗?

    您好 我希望能够使用 ssl 从 jdbc 驱动程序连接到雪花 我对其他数据库做了很多次 只需在连接 url 中添加 ssl true 有时是其他属性 不幸的是我在雪花文档中没有找到这个选项 我发现雪花支持像 ssl 这样的东西 他们称之为
  • 从模块导出函数时,延迟绑定脚本块不起作用

    我有以下功能 function PipeScript param Parameter ValueFromPipeline Object InputObject Object ScriptBlock process value Invoke
  • Rails 3 中的猴子修补

    Rails 3 中 Monkey Patch 的首选方式是什么 我只想向 String 类添加一个方法 我更关注将文件放置在哪里 初始化程序目录是收集所有这些小碎片的好地方 由于我倾向于对核心扩展有点过度 所以我喜欢在那里创建一个名为 扩展
  • 使用注册表检测安装的MS Office是32位还是64位

    我想根据excel版本 32位或64位 安装vsto addin 我计划捆绑 32 位和 64 位 msis 并通过确定 Excel 版本来安装一个 我可以找到这个链接来使用注册表检测2010 Office是32位还是64位 通过注册表检测
  • pytest 2.3 在类中添加拆卸

    我正在研究新版本的 pytest 2 3 并对新功能感到非常兴奋 您可以在其中使用 可以通过注册一个或多个来精确控制拆卸 一旦执行了一些操作 拆卸功能 需要撤消 消除了单独 拆卸 的需要 装饰器 from here 作为函数使用就很清楚了
  • 如何打印树形结构?

    我正在努力提高我们应用程序的性能 我以调用树的形式获得了性能信息 具有以下节点类 public class Node public string Name method name public decimal Time time spent
  • Shiny:将 styleColorBar 与来自两个数据帧的数据一起使用

    我正在尝试在 Shiny 中显示一个表格 其中数字将从一个 data frame 或 data table 显示 但条形的大小将从另一个 data frame 获取 例如 将显示绝对值 但来自另一个表 相同排列 的 log p values
  • 如何在android中以编程方式取消闹钟? [复制]

    这个问题在这里已经有答案了 我使用这段代码创建了一个警报并且它有效 请建议如何取消该警报 Intent alarmIntent new Intent AlarmClock ACTION SET ALARM alarmIntent setFl
  • 使用用例图将数据库作为参与者,以及整个图的正确性

    如果我需要将数据库识别为参与者 我会陷入困境并感到困惑 因为数据库是在场景中给出的 我首先尝试将其作为演员 因为根据场景 所需的数据来自数据库 我还尝试为整个场景创建一个用例 但不确定是否正确 这是场景的链接 https justpaste
  • 将两个二进制文件合并为第三个二进制文件

    我正在尝试将两个二进制文件合并到Python 中的第三个二进制文件 我的代码 input1 input2 input1 open input1 bin read input2 open input2 bin read input1 inpu