这应该很容易!但我一直无法找到这个问题的答案。
使用python,我想将二进制文件读入内存,修改文件的前四个字节,然后将文件写回。
必须有一种简单的方法来编辑四个微不足道的字节!正确的?
为什么读取整个文件要改变开头的四个字节?这不应该起作用吗?
with open("filename.txt", "r+b") as f:
f.write(chr(10) + chr(20) + chr(30) + chr(40))
即使您需要从文件中读取这些字节来计算新值,您仍然可以这样做:
with open("filename.txt", "r+b") as f:
fourbytes = [ord(b) for b in f.read(4)]
fourbytes[0] = fourbytes[1] # whatever, manipulate your bytes here
f.seek(0)
f.write("".join(chr(b) for b in fourbytes))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)