在Python上从ascii int列表创建.bin字节文件

在Python上从ascii int列表创建.bin字节文件,python,arrays,python-3.x,binary,byte,Python,Arrays,Python 3.x,Binary,Byte,我正在尝试将字符串/int列表转换为.bin字节格式的最终文件: final_data = ['3247', '5146', '6971', '-8192', '8192', '11192'] final_data2 = [int(i) for i in final_data] arr = bytes(final_data2) with open("data.bin", "wb") as fh: fh.write(arr) 但我得到了一个错误:

我正在尝试将字符串/int列表转换为.bin字节格式的最终文件:

final_data = ['3247', '5146', '6971', '-8192', '8192', '11192']
final_data2 = [int(i) for i in final_data]
arr = bytes(final_data2)
with open("data.bin", "wb") as fh:
    fh.write(arr)
但我得到了一个错误:

ValueError:字节必须在范围(0,256)内


如何继续知道我有负数和大于256的数?

你可以这样做:
to_bytes()
调用将每个
int
转换为二进制表示

final_data = ['3247', '5146', '6971', '-8192', '8192', '11192']

with open("data.bin", "wb") as fh:
    for i in final_data:
      fh.write(int(i).to_bytes(32, byteorder = 'big', signed = True))