繁体   English   中英

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

[英]What is a good audio library for validating files in Python?

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

我来过这里: http://wiki.python.org/moin/Audio/但没有运气。 在这家住了一段时间,我有点迷失在树林里。 依靠这么大的时间来结束这一切……

提前致谢。

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

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

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

您可以像这样在 python 中调用 unix 子外壳:

>>> filename = 'Giant Steps.mp3'
>>> import os
>>> type = os.system('file %s' % filename)
Giant Steps.mp3: ISO Media, MPEG v4 system, iTunes AAC-LC

** 如果您想 go 这条路线,请参阅手册页以获取有关“文件”命令的更多详细信息。

有关其他选项,请参阅此帖子


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

仅供参考,我认为您的方法不是非常可扩展的。 真的有必要读取文件的每个字节吗? 您不信任文件 header 的原因是什么?

使用sndhdr

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM