一 基本概念

bin文件合并是嵌入式中常用的,这里给一个实例。

二  实例分析

import os
import argparse
import hashlib offset1 = 0x00100000 def bin_file_merge(bin_file1,bin_file2,bin_merge):
f1 = open(bin_file1,"rb")
f2 = open(bin_file2,"rb")
fmerge = open(bin_merge,"ab") bin2_size = os.path.getsize(bin_file2) data = f1.read()
fmerge.write(data)
offset = fmerge.tell()
data = f2.read()
#fmerge.seek(offset1)
fmerge.write(data)
fmerge.close() def get_parser():
parser = argparse.ArgumentParser(description='change extension of files in a working directory')
parser.add_argument('bin_file1', metavar='BIN_FILE1', type=str, nargs=1,
help='bin file one ')
parser.add_argument('bin_file2', metavar='BIN_FILE2', type=str, nargs=1,
help='bin file two')
parser.add_argument('bin_merge', metavar='BIN_MERGE', type=str, nargs=1,
help='bin file merge')
return parser

github网址路径:

https://github.com/DyLanCao/python_cabin.git

三 总结展望

该代码只是基本的架构,具体的实现要根据需求来更改的,实际环境中只需要更改一下偏移地址即可。

用python进行二进制bin文件合并的更多相关文章

  1. python用二进制读取文件

    python二进制读取文件 很多时候,都需要用到二进制读取文件.毕竟很多信息不是以文本的形式存储.例如:图片,音乐等等.这些东西都是有规则的二进制文件. 在python中,二进制读取采用rb的方式. ...

  2. BIN文件合并烧写

    可以实现将Bootloader和Application合并烧写 使用UBIN.exe工具或者J-Flash工具 UBIN工具 选择Bootloader源文件 添加Bootloader源文件 选择App ...

  3. 合并BIN文件的两种方法(转)

    源:http://blog.chinaunix.net/uid-20745340-id-1878803.html 合并BIN文件的两种方法 在单片机的开发过程中,经常需要将两个单独的BIN文件合并成一 ...

  4. 用WINHEX合并两个或多个BIN文件

    以前,我给W25Q16下载内容的时候,每次都要分别传输GBK字符.英文字符和图片BIN文件,每次都要传输好几次. 后来,我发现,用WINHEX软件可以把这些BIN文件都合并到一个文件,只需要传输一次就 ...

  5. Python之FTP多线程下载文件之分块多线程文件合并

    Python之FTP多线程下载文件之分块多线程文件合并 欢迎大家阅读Python之FTP多线程下载系列之二:Python之FTP多线程下载文件之分块多线程文件合并,本系列的第一篇:Python之FTP ...

  6. 关于在VI中查看BIN文件二进制值不对的问题

    通常,我们在vim中,可以使用命令 %!xxd 来查看文件对应的二进制值.但是最近发生了一个事情,查看到的BIN文件二进制值和直接用hexdump打印出来的不一样. 经过检查定位,发现是因为vimrc ...

  7. 如何将一个二进制的xxx.bin文件轻松转为C语言数组

    今天在写一个SPI-flash读写程序,目的是要将一个二进制文件写到SPI_FLASH中,最后通过开机读取,实际上这个.bin文件就是uboot和second-boot的结合体.通过SD卡写到SPI- ...

  8. c代码写数据到二进制的bin文件中

    需要将数据写入到bin文件中,打开该文件是一堆乱码,增加数据的保密性 例如:要写入的数据为一个字符串,加上若干个int型整数 #define _CRT_SECURE_NO_WARNINGS #incl ...

  9. python 读取bin文件

    python读取bin文件并下发串口   # coding:utf-8import time, serialfrom struct import *import binascii file = ope ...

  10. C# 通过二进制,将多个文件合并为一个。

    C# 通过二进制,将多个文件合并为一个. /// <summary> /// 合并文件 /// </summary> /// <param name="strD ...

随机推荐

  1. Hadoop超详细讲解之单节点搭建

    1 Hadoop介绍 Hadoop是Apache旗下的一个用java语言实现开源软件框架,是一个开发和运行处理大规模数据的软件平台.允许使用简单的编程模型在大量计算机集群上对大型数据集进行分布式处理. ...

  2. Android Graphics 显示系统 - 如何模拟多(物理)显示屏?

    " 本着花小钱办大事,不花钱也办事的原则,为了避免花钱买设备,那如何更便捷地学习/测试Android多屏显示的内容呢?本文就给大家介绍一种模拟Android多个物理屏幕显示的方法." ...

  3. MySQL 报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket

    MySQL 报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket 一.错误现场还原: 下面我们通过三种方式 ...

  4. JS Leetcode 525. 连续数组 前缀和加哈希表,小白式讲解让你彻底明白此题

    壹 ❀ 引 题目来自LeetCode的525. 连续数组,难度中等,题目描述如下: 给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度. 示例 1 ...

  5. CF1833G Ksyusha and Chinchilla

    题目链接 题解 知识点:贪心,树形dp. 当 \(3 \not \mid n\) 时,显然无解. 考虑一种贪心策略,从叶子节点往上只,要以当前节点为根的子树大小能被 \(3\) 整除,就立刻切除这棵子 ...

  6. Linux 中hdparm命令使用说明——带实例

    详解Linux中hdparm命令查看硬盘信息的用法 功能说明:显示与设定硬盘的参数. 语 法:hdparm [-CfghiIqtTvyYZ][-a ][-A <0或1>][-c ][-d ...

  7. 详解最新版RabbitMQ 基于RPM 方式的安装

    如何选择安装版本 已经不支持的发布系列 版本 最后补丁版本 首次发布时间 停止更新时间 3.7 3.7.28 2017年11月28日 2020年09月30日 3.6 3.6.16 2015年12月22 ...

  8. 【Unity3D】拖尾TrailRenderer

    1 TrailRenderer 简介 ​ TrailRenderer 组件用于实现拖尾效果,可以调整拖尾颜色.时长.宽度等属性,其属性面板如下: Materials:拖尾材质,最好设置为 Defaul ...

  9. Delphi 实现刘谦春晚魔术

    看了博友的C# 实现刘谦春晚魔术很好,改成了delphi版的. 1 program Project1; 2 3 {$APPTYPE CONSOLE} 4 {$R *.res} 5 6 uses 7 S ...

  10. BUU PWN RIP1 RET2CODE WRITEUP

    1.下载附件后,运行是一个输入程序,IDA分析main函数,gets可溢出. F5伪代码如下: int __cdecl main(int argc, const char **argv, const ...