如何在python中替换二进制文件中的第一个和最后4个字节

时间:2016-06-20 11:50:03

标签: python file binary

这应该很简单!

我有一个二进制文件。我需要从文件中读取前4个字节并替换那里的值。 例如:如果前4个字节是00000000,那么我想用11111111替换它们。

此外,我需要读取文件的最后4个字节并替换那里的值。 请注意,不应更改文件大小。只替换我们需要的位。

1 个答案:

答案 0 :(得分:0)

此代码应该在python 2.7中运行:

with open(filepath, 'r+b') as f:
    data = f.read(4)
    f.seek(0)
    if len(somestring) != 4:
        raise ValueError
    f.write(somestring)
    f.seek(os.path.getsize(filepath)-4)
    enddata = f.read(4)
    f.seek(os.path.getsize(filepath)-4)
    if len(endstring) != 4:
        raise ValueError
    f.write(endstring)