我正在尝试在python文件中编辑.bin以通过另一个程序运行,该程序要求第一个数字为32位size_t。我正在使用64位版本的python3。以下是到目前为止我尝试过的内容。
with open(outputFileTrain, 'wb') as binFile:
file2Len = ctypes.c_int_32 (file2Len)
z = struct.pack('i',file2Len)
binFile.write(z)
binFile.close()
谢谢
答案 0 :(得分:0)
因此,假设您确实需要32位(size_t可能是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',...
。