gpt4 book ai didi

python - 将 bool 字符串写入二进制文件?

转载 作者:行者123 更新时间:2023-11-28 20:50:20 27 4
gpt4 key购买 nike

我有一串 bool 值,我想使用这些 bool 值作为位创建一个二进制文件。这就是我正在做的:

# first append the string with 0s to make its length a multiple of 8
while len(boolString) % 8 != 0:
boolString += '0'

# write the string to the file byte by byte
i = 0
while i < len(boolString) / 8:
byte = int(boolString[i*8 : (i+1)*8], 2)
outputFile.write('%c' % byte)

i += 1

但这会一次生成 1 个字节的输出并且速度很慢。更有效的方法是什么?

最佳答案

如果您先计算所有字节,然后将它们全部写入,应该会更快。例如

b = bytearray([int(boolString[x:x+8], 2) for x in range(0, len(boolString), 8)])
outputFile.write(b)

我还使用了一个 bytearray,它是一个可以使用的天然容器,也可以直接写入您的文件。


如果合适,您当然可以使用库,例如​​ bitarraybitstring .使用后者你可以说

bitstring.Bits(bin=boolString).tofile(outputFile)

关于python - 将 bool 字符串写入二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12672165/

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