[英]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.