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