Python魔法将图像识别为“二进制”

0 投票
1 回答
878 浏览
提问于 2025-04-17 01:03

在这里的另一个问题中,我看到说python-magic应该能正确输出文件的mime类型。我在我的Django项目中添加了python-magic = 0.4.0,但是它检测到的结果是:

In [2]: import magic
In [3]: m = magic.Magic(mime_encoding=True)
In [4]: m.from_file('/home/culebron/Documents/chapter2.pdf')
Out[4]: 'binary'

In [5]: m.from_file('/home/culebron/bok.jpg')
Out[5]: 'binary'

我哪里做错了?

我需要区分图片和其他二进制文件类型,而不依赖文件扩展名。所以,我想要通过文件内容来判断,最后得到的信息是它是jpeg、png、音频还是其他类型。可能是python-magic的问题,或者如果你知道其他模块也可以推荐一下。

我试过从pypi上找python-hachoir,但是它的文档实在太糟糕了,我在查看他们的模块时没有找到任何有用的信息。

1 个回答

2

说明文档中的例子来看,似乎你需要使用mime=True,而不是mime_encoding=True,才能获取到mime类型。

撰写回答