如何在Python 3中以二进制形式将整数写入文件?
例如,我想以二进制形式将6277101735386680763835789423176059013767194773182842284081写入文件,确保大小为24字节(无符号,仅使用正整数)。我该如何做?我尝试了以下方法:
struct.pack("i", 6277101735386680763835789423176059013767194773182842284081)
这导致
ValueError: cannot fit 'int' into an index-sized integer
我尝试过使用其他格式(“l”,“Q”),但它们也会导致错误。
struct.error: argument out of range
如果我能将整数转换为24个字节,那么我就可以写入文件,因为我知道如何做到这一点。但是,我无法将整数转换为字节。
此外,我如何确保每个整数都恰好写入24个字节?我还会写入更小的数字(1000、2000、1598754、12),但这些数字也应该占用24个字节。
我之后如何从文件中再次读取整数?