Python:如何将整数转换为32位size_t并将其写入二进制文件

2024-04-25 19:56:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我在试着编辑.bin在python文件中运行另一个程序,该程序要求第一个数字为32位大小。下面是我到目前为止所做的尝试。你知道吗

with open(outputFileTrain, 'wb') as binFile:
     file2Len = ctypes.c_int_32 (file2Len)
     z = struct.pack('i',file2Len)
     binFile.write(z)
     binFile.close()

谢谢


Tags: 文件程序编辑binaswith数字open
1条回答
网友
1楼 · 发布于 2024-04-25 19:56:02

因此,假设您真的需要32位(大小可能是32位,也可能不是32位),有符号,struct就是您需要的模块。它将int转换为bytes,然后可以将其写入以二进制模式打开的文件。你知道吗

with open(outputFileTrain, 'wb') as binFile:
    z = struct.pack('i',file2Len)
    binFile.write(z)

如果cint应该是无符号的(如果另一个程序使用它作为size_t则可能是这种情况),请改用struct.pack('I',...。你知道吗

相关问题 更多 >