如何用Python将变量写成二进制数据?

blu*_*ale 2 python

我需要用C语言编写一个很长的int和float fwrite函数列表,就像在C中一样 - 以二进制形式.

这是为我正在使用的另一段代码创建输入文件所必需的.

做这个的最好方式是什么?

min*_*ism 5

您可以使用struct模块完成此操作.

例如,要以二进制形式写入32位整数列表:

import struct

ints = [10,50,100,2500,256]
with open('output', 'w') as fh:
    data = struct.pack('i' * len(ints), *ints)
    fh.write(data)
Run Code Online (Sandbox Code Playgroud)

将会写 '\n\x00\x00\x002\x00\x00\x00d\x00\x00\x00\xc4\t\x00\x00\x00\x01\x00\x00'