Python中使用BitArray处理音频后如何返回二进制0/1字符串结果
解决BitArray返回十六进制而非二进制字符串的问题
问题核心是你返回的是BitArray对象本身,该对象默认的字符串输出格式为十六进制。而你写入文件时用到的b.bin才是对应0/1的二进制字符串,直接返回这个属性就能得到和文件中一致的内容。
修改后的代码:
def readbinary(audio): # audio为音频文件路径 b = BitArray(bytes=open(audio,'rb').read()) # 将结果保存到文件 with open('txt/binary.txt', 'w') as file1: file1.write(b.bin) return b.bin # 返回二进制字符串,而非BitArray对象
修改后返回的内容会和你写入txt文件的二进制字符串完全一致,后续处理环节直接使用该返回值即可。
内容的提问来源于stack exchange,提问作者HelpMeInDjango
相关产品推荐
相关产品推荐

