使用 python 获取 MP3 MIME 类型

Get MP3 MIME type using python

我正在编写一个脚本来使用 python-magic 确定文件是否是有效的 MP3。对于某些文件,magic.from_file() 函数 returns use count (30) exceeded。是否可以像命令行程序一样提高限制:file --parameter name=40?如果 python-magic 无法实现,filemagic 是否可行?

通过 ctypes 导航后,我找到了解决方案:

import magic

MAGIC_PARAM_NAME_MAX = 1                    # definition from magic.h
name_max = magic.c_void_p(40)               # new use count, can also be c_size_t
name_max_ref = magic.ctypes.byref(name_max)

s = magic.Magic()
magic.libmagic.magic_setparam(s.cookie, MAGIC_PARAM_NAME_MAX, name_max_ref)
print s.from_file('file.jpg')