如何在python 2.7中将n字节写入二进制文件

时间:2019-10-31 00:36:22

标签: python

我正在尝试使用f.write(struct.pack())将n个字节写入二进制文件,但不确定如何执行此操作?任何示例或示例都将有所帮助。

2 个答案:

答案 0 :(得分:1)

您并没有真正解释您的确切问题或尝试的操作以及遇到的错误消息:

解决方案应类似于:

with open("filename", "wb") as fout:
    fout.write(struct.pack(format, data, ...))

如果您解释了您到底要转储什么数据,那么我可以详细说明解决方案

如果您的数据只是一个十六进制字符串,则您不需要结构,只需使用解码即可。 请参阅问题hexadecimal string to byte array in python

python 2.7的示例:

hex_str =  "414243444500ff"
bytestring = hex_str.decode("hex")
with open("filename", "wb") as fout:
    fout.write(bytestring)

答案 1 :(得分:0)

以下内容对我有用:

reserved = "Reserved_48_Bytes"
f.write(struct.pack("48s", reserved))

输出:

hexdump -C output.bin

00000030  52 65 73 65 72 76 65 64  5f 34 38 5f 42 79 74 65  |Reserved_48_Byte|    
00000040  73 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |s...............|    
00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|