做硬件嵌入式相关的需要经常与二进制、十六进制打交道
之前也写过 bytes转字符串、字符串转bytes、十六进制字符串转bytes、bytes转十六进制字符串等
今天写一下Python3 修改二进制bin文件的方法
比较简单,主要就是文件读写 open eadwriteseek 等方法使用。
seek()方法做定位使用,可以指定光标到设定的偏移量
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @author: david
if __name__ == '__main__':
file_path = "test.bin"
fr = open(file_path, "rb")
fw = open('modify_'+file_path, "wb")
data = fr.read()
fw.write(data)
fw.seek(0xC51)
fw.write(b'x11x22x33')
fw.write(b'x00x00x00')
fw.flush()
fw.close()
fr.close()