python如何修改二进制文件的指定位置而原内容不被清空?

[图片] 这是原文件,内容都是十六进制的数,用'rb'模式,read(1)得到的为b'\xc6'这样的bytes类型数据,然后我自己构造了一个新的数据…
关注者
4
被浏览
4,648

2 个回答

把那句with open('system', 'wb')as f 中的 'wb'改为'r+b'。

从PYTHON文档看,w打开时,文件会被清空。

wb 只写 打开或新建 一个二进制文件;只允许写数据。

wb+ 读写打开或建立一个二进制文件,允许读和写。

rb+ 读写打开一个二进制文件,只允许读写数据。

写的时候这用'rb+'成功了 with open('system','rb+') as f:

修改的时候要用rb+打开读写文件~ 我是这样理解的