做硬件嵌入式相關的需要經常與二進制、十六進制打交道
之前也寫過 bytes轉字符串、字符串轉bytes、十六進制字符串轉bytes、bytes轉十六進制字符串等
今天寫一下Python3 修改二進制bin文件的方法
比較簡單,主要就是文件讀寫 open\read\write\seek 等方法使用。
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'\x11\x22\x33')
fw.write(b'\x00\x00\x00')
fw.flush()
fw.close()
fr.close()