gpt4 book ai didi

python - 将带有 0's and 1' 的列表转换为位数组(使用位数组模块)并输出到二进制文件错误

转载 作者:太空宇宙 更新时间:2023-11-04 03:10:07 24 4
gpt4 key购买 nike

我有一个独特的问题(至少从我在这里花在 SO 和谷歌搜索上的时间来看是这样)。

我有一个 0 和 1 整数列表,列表长度不同,例如:

[0, 1, 0, 0 ,1, 0, 0, 0, 0, 0, 0...]

我正在将此列表转换为位数组,如下所示:

from bitarray import bitarray
def binWise(sequence):
newseq = bitarray(sequence)
return newseq

这将返回格式为的二进制输出:

b'01001000001'

但是,当我尝试将其作为二进制文件直接写入文件时,我得到了

TypeError: 'bitarray' does not support the buffer interface

有没有办法将二进制数据直接输出到二进制文件?我根本不介意第 3 方模块建议。但越简单越好。

最佳答案

您需要使用以下方法之一来生成bytesstr 字符串对象:

  • .to01() 生成一个由 '0''1' 字符组成的字符串。
  • .tobytes() 生成一个 bytes 对象,每个 8 位序列(一个字节)转换为 bytes 序列中的一个字节. bitarray 被填充为 8 的倍数的长度。
  • .tofile(f)bitarray 信息写入文件(以二进制模式),再次填充为 8 的倍数的长度。

关于python - 将带有 0's and 1' 的列表转换为位数组(使用位数组模块)并输出到二进制文件错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38312736/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com