我想检查音频文件是 MP3 还是 FLAC,检查只需进行基本检查,但我想要的不仅仅是检查文件扩展名
os.path.splitext
工作正常,但如果文件没有写入扩展名或有人传递了带有假扩展名的文件,则效果不佳
我已经尝试过,但它只返回 None
sndhdr.what(file)
我也尝试过使用魔法,但它返回“application/octet-stream”,这没有多大用处。
magic.from_file(file, mime=True)
我读过 Mutagen 可能对此很有帮助,但到目前为止未能找到任何将音频编码输出为 MP3 或 FLAC 的函数
要查找包括音频、视频、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']
感谢该库的作者https://github.com/floyernick/fleep-py
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)