在python中读写二进制文件

时间:2019-05-02 20:49:27

标签: python binary

我有一个名为“ binary”的input.bin文件。 我正在练习如何使用此类文件(读取它们,更改内容并将其写入新的二进制文件)。 输入文件的内容:

03 fa 55 12 20 66 67 50 e8 ab

hexadecimal表示法。

我想制作一个输出文件,它只是输入文件,每个字节的值加一。

这是预期的输出:

04 fb 56 13 21 67 68 51 e9 ac

,也将使用hexadecimal表示法。 我正在尝试使用以下命令在python3中做到这一点:

with open("input.bin", "rb") as binary_file:
    data = binary_file.read()
    for item in data:
        item2 = item+1
    with open("output.bin", "wb") as binary_file2:
        binary_file2.write(item2)

但是它不返回我想要的。你知道如何解决吗?

1 个答案:

答案 0 :(得分:4)

您要在循环之前打开输出文件,然后在循环中调用write

with open("input.bin", "rb") as binary_file:
    data = binary_file.read()

with open("output.bin", "wb") as binary_file2:
    binary_file2.write(bytes(item - 1 for item in data))