以二进制(非字节)形式读取 .mp3 文件

Reading a .mp3 file as binary (NOT bytes)

我正在尝试获取 python 中音乐 (.mp) 文件的二进制表示形式。我目前只能以字节表示它。当我尝试将这些字节转换为二进制时,我不断收到错误。这是我当前的程序:

folder=os.listdir(os.getcwd())
for files in folder:
    if files.endswith(".mp3"):
        file = open(files, 'rb')
        stream = str(file.read()).split("\")
        print(stream)
        for bit in range(1,len(stream)):
            """
            print(stream[bit])
            newbit = f"0{stream[bit]}"
            c = BitArray(hex=newbit)
            #print(c.bin)
            """
            print(stream[bit][1:])
            print(bin(int(stream[bit][1:], base=16)))

我一直收到同样的错误:

line 39, in <module>
print(bin(int(stream[bit][1:], base=16)))
ValueError: invalid literal for int() with base 16: '00Info'

当我检查语句 print(stream) 中的字节时,字节 x00Info 没有出现。我以前从未使用过字节,所以我不知道发生了什么。

import sys
with open(sys.argv[1], 'rb') as f:
    for c in f.read():
        print(bin(c)[2:])

您没有指定您期望的输出,但是,这将打印二进制文件。