Python应用开发——制作bin文件
创始人
2024-05-20 14:24:30

Python应用开发——制作bin文件

目录

  • Python应用开发——制作bin文件
    • 前言
    • 1 环境搭建
    • 2 代码编写与测试
    • 结束语

前言

什么是bin?

bin是二进制文件,其用途依系统或应用而定。一种文件格式binary的缩写。一个后缀名为".bin"的文件,只是表明它是binary格式。比如虚拟光驱文件常用".bin"作为后缀,但并不意味着所有的bin文件都是虚拟光驱文件。一般来讲是机器代码,汇编语言编译后的结果。

在嵌入式开发中bin文件常当做烧录固件,是代码编译后的结果。
实际上bin是存储二进制的一种文件格式,它不仅可以存放代码,还可以存放各种数据,比如图片、音乐、视频等,也可以存放一些自定义的数据,比如:当我们需要用串口或者USB传输大量的数据时,就可以把数据打包成bin文件,这样的话方便一些上位机软件读写。
还有就是有时候我们需要在一个bin文件上面进行批量修改,比如:每个设备自带一个独立的序列号,这个是在代码上面写死的,但是如果每次都得修改代码再重新编译生成bin文件,那就太麻烦了,这个时候我们就可以用python直接修改bin文件,这样就可以减少很多工作量。

1 环境搭建

Python的环境这里就不具体介绍了,网上教程也很多。

特别说明:本文举的例子皆是基于windows系统下python3来实现的,其他平台不一定完全适配。

2 代码编写与测试

1、将一个列表的数据输出到一个bin文件
示例代码如下:

output_path = 'test.bin'  # 输出文件的路径和文件名称,这里直接放在工程根目录下,所以没有写绝对路径# 待写入的数据
li = [0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22]print(bytes(li))with open(output_path, 'ab') as f:f.write(bytes(li))f.close()

运行结果:
在这里插入图片描述
运行后查看生成的文件:
在这里插入图片描述

2、在一个bin文件末尾增加数据
示例代码如下:

test_path = 'test.bin'  # 输入文件的路径和文件名称,这里是在工程根目录下,所以没有写绝对路径# 待插入的数据
li = [0x10, 0x11, 0x12, 0x13, 0x14]
# print(bytes(li))# 打开并查看原文件
with open(test_path, 'rb') as f:print(bytes(f.read()))  #查看文件内容# 插入数据
with open(test_path, 'ab+') as f:   # ab+: 在文本末尾追加内容f.write(bytes(li))f.close()# 打开并查看插入数据后的文件
with open(test_path, 'rb') as f:print(bytes(f.read()))  #查看文件内容

运行前查看原文件:
在这里插入图片描述
运行结果:
在这里插入图片描述
运行后查看文件:
在这里插入图片描述

3、修改bin文件里面的某些数据
示例代码如下:

test_path = 'test.bin'  # 输入文件的路径和文件名称,这里是在工程根目录下,所以没有写绝对路径
lines = []# 打开原文件并读取原数据
with open(test_path, 'rb') as f:lines = list(f.read())print(bytes(lines))  # 打印文件内容f.close()# 对原数据进行修改
lines[0] = 0xAA
lines[2] = 0xBB# 把新数据覆盖到原文件
with open(test_path, 'wb') as f:# 重新写入数据f.write(bytes(lines))f.close()# 打开并查看修改数据后的文件
with open(test_path, 'rb') as f:print(bytes(f.read()))  # 查看文件内容

运行前查看原文件:
在这里插入图片描述
运行结果:
在这里插入图片描述
运行后查看文件:
在这里插入图片描述

结束语

好了,关于如何使用Python制作一个bin文件就讲到这里,这里只是列举了一下我觉得常用到的一些操作,实际上还有很多种实现方式,在Python这个领域我也是小白一个,只是根据以往嵌入式的经验列举了这么一些例子,如果有哪里写的不对或者写的不够好的,欢迎评论区留言指正,谢谢

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...