如何替换二进制文件中的特定字节 - Python

问题描述

我想替换一个大二进制文件中的小块数据(大小可能有几十个 GB),因此在更改文件的很小一部分时再次重写该文件是不切实际的。理想情况下,我只想用已知字节位置的新块替换我想更改的块,以使其更快。

我已经构建了以下函数来实现这一点,但它用我想要放置的块替换了整个文件(在我要替换的块之前创建空白)。

任何帮助将不胜感激。

def change_block(filename,text,byte_location):
    with open(filename,'r+b') as f:
        f.seek(byte_location)
        f.write(bytearray(text,"utf8"))
        f.close
    return

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)