繁体   English   中英

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

[英]Python: How can I convert an int to a 32-bit size_t and write that to a binary file

我正在尝试在python文件中使用edit.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()

谢谢

因此,假设您确实需要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',...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM