什么是用于验证Python文件的好音频库?

时间:2011-06-30 22:04:54

标签: python validation audio mp3

我已经在检查内容类型,大小和扩展名(Django (audio) File Validation),但我需要一个库来读取文件并确认它实际上是我希望它(mp3和mp4)大部分)。

我来过这里:http://wiki.python.org/moin/Audio/但没有运气。已经有一段时间了,我在树林里有点失落。依靠这么大的时间来完成这件事...

提前致谢。

编辑: 我已经(在Django中)使用UploadedFile.content_type():

  

“随文件一起上传的内容类型标题(例如text / plain或application / pdf)。与用户提供的任何数据一样,您不应相信上传的文件实际上是此类型。您仍然需要验证该文件是否包含内容类型标题声明的内容 - “信任但验证。”

所以,我已经在阅读标题了。但是如何验证文件的实际内容呢?

3 个答案:

答案 0 :(得分: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'命令的更多详细信息。

See this post for other options


答案 1 :(得分:2)

如果只检查标题不够好,我建议使用mutagen加载文件。如果它不正确,它应该抛出异常。

仅供参考,我认为您的方法不具备可扩展性。读取文件的每个字节是否真的 ?你不信任文件头的原因是什么?

答案 2 :(得分:0)

使用sndhdr

它比内容类型更多。读取文件并获取它的标题..当然这仍然不是万无一失的......使用ffmpeg可能是唯一的选择。