我有一个名为“ 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)
但是它不返回我想要的。你知道如何解决吗?
答案 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))