我需要从 python3 中没有后缀的文件中确定 MIME 类型,我认为 python-magic 是一个合适的解决方案。不幸的是,它不像这里描述的那样工作: https ://github.com/ahupp/python-magic/blob/master/README.md
会发生什么:
>>> import magic
>>> magic.from_file("testdata/test.pdf")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'from_file'
所以我看了一下对象,它为我提供了Magic
我在这里找到文档的类:http:
//filemagic.readthedocs.org/en/latest/guide.html
我很惊讶,这也不起作用:
>>> with magic.Magic() as m:
... pass
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: __init__() missing 1 required positional argument: 'ms'
>>> m = magic.Magic()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: __init__() missing 1 required positional argument: 'ms'
>>>
我找不到任何关于如何在Magic
任何地方使用该类的信息,所以我继续反复试验,直到我发现它只接受LP_magic_set
for 的实例ms
。其中一些是由模块的方法
magic.magic_set()
和magic_t()
. 所以我试图Magic
用他们中的任何一个来实例化。然后当我从实例调用该file()
方法时,它总是返回一个空结果,并且该errlvl()
方法告诉我错误号。22. 那么我到底该怎么使用魔法呢?