Python中用于验证文件的优秀音频库有哪些?
我已经在检查文件的内容类型、大小和扩展名(Django(音频)文件验证),但我需要一个库来读取文件,确认它确实是我想要的格式(主要是mp3和mp4)。
我去过这个网站:http://wiki.python.org/moin/Audio/,但没有找到合适的解决方案。我在这方面已经研究了一段时间,有点迷茫。现在非常依赖Stack Overflow来解决这个问题……
提前谢谢你们。
编辑: 我在Django中已经使用了UploadedFile.content_type():
“上传文件时的内容类型头(例如:text/plain或application/pdf)。就像任何用户提供的数据一样,你不能完全相信上传的文件真的是这种类型。你仍然需要验证文件的内容是否与内容类型头所声明的一致——“相信但要验证”。
所以,我已经在读取头信息了。但我该如何验证文件的实际内容呢?
3 个回答
0
使用 sndhdr
这个工具的功能比单纯判断文件类型要多一些。它会读取文件并获取文件的头部信息。不过,这种方法也不是百分之百可靠。如果想要更准确的结果,可能就只能使用 ffmpeg 这个工具了。
2
你可以在Python中这样调用一个Unix子 shell:
>>> filename = 'Giant Steps.mp3'
>>> import os
>>> type = os.system('file %s' % filename)
Giant Steps.mp3: ISO Media, MPEG v4 system, iTunes AAC-LC
** 如果你想了解更多关于'file'命令的细节,可以查看手册页。
2
如果仅仅检查文件的头部信息不够好,我建议你使用 mutagen
来加载文件。如果文件不正确,它会抛出一个异常。
顺便说一下,我觉得你的方法不太适合大规模使用。真的有必要读取文件的每一个字节吗?你为什么不信任文件的头部信息呢?