我有一串布尔值,我想使用这些布尔值作为位创建一个二进制文件。这就是我正在做的事情:
# 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 个字节并且速度很慢。什么是更有效的方法呢?