我想检查一个音频文件,看看它的MP3或FLAC是否只需要基本检查,但我想要的不仅仅是检查文件扩展名
os.path.splitext
如果文件没有写入扩展名或有人通过带有假扩展名的文件,那么工作正常但不好;
我已经尝试但它只返回无
sndhdr.what(file)
我也尝试过使用魔法,但它会返回' application / octet-stream'这并没有多大用处。
magic.from_file(file, mime=True)
我读过Mutagen可能对此有好处,但到目前为止未能找到任何将音频编码输出为MP3或FLAC的功能
答案 0 :(得分:3)
要查找文件格式,包括音频,视频,txt等,可以使用
fleep
python库检查音频文件格式:
首先,您需要安装该库:
pip install fleep
这是一个测试代码:
import fleep
with open("vida.flac", "rb") as file:
info = fleep.get(file.read(128))
print(info.type)
print(info.extension)
print(info.mime)
以下是结果:
['audio']
['flac']
['audio/flac']
即使文件没有扩展名或有人通过带有假扩展名的文件,它也会检测并返回。
在这里,我已将vida.wav文件复制到dar.txt,并删除了扩展名
import fleep
with open("dar", "rb") as file:
info = fleep.get(file.read(128))
print(info.type)
print(info.extension)
print(info.mime)
结果仍然相同。
['audio']
['flac']
['audio/flac']
答案 1 :(得分:0)
答案 2 :(得分:0)
你可以阅读mp3和flac的文件规范,然后可以实现一个读取和解析mp3作为二进制文件的检查器。具有类似目标的可修改示例是here