我的个人mp3收藏在硬盘坏了后部分损坏。 我需要在文件夹和子文件夹中的很多(大约> 5k文件)中找到损坏的mp3的名称。
能否请您给我一些有关python 3库的提示,该库可以打开mp3文件,进行读取并在其中找到比特率问题。
答案 0 :(得分:2)
对于各个步骤,我可以为您提供以下提示。
要获取mp3文件名,glob模块是您的朋友:glob.iglob('*.mp3', recursive=True)
。
对于处理mp3文件,您实际上可以使用满足您需要的任何命令行实用程序。一些例子:
您可以通过subprocess模块在python中运行这些工具。例如:
subprocess.check_output(['avprobe', 'path/to/file'])
然后,您可以根据需要解析输出;不过,仍然需要探索如何检测文件是否损坏。
如果您喜欢冒险,也可以直接扫描mp3文件。 Wikipedia给出了有关文件结构的提示。因此,为了获得比特率,应执行以下操作:
with open('path/to/file', 'rb') as fp:
fp.read(2) # Skip the first two bytes.
bit_rate = fp.read(1) & 0xf0
答案 1 :(得分:0)