如何从类文件对象中python mimetypes.guess_type

Yue*_*oum 5 python mime-types

>>> mimetypes.guess_type('picture.jpg')
('image/jpeg', None)
Run Code Online (Sandbox Code Playgroud)

现在我有一个类似文件的对象(例如stingIO),其内容是图像的数据

如何从类似文件的对象中检测mimetypes

clo*_*her 6

python mimetype标准模块将文件名映射到mime-types,反之亦然.要使用它,您需要一个文件名或mime类型,在这种情况下,它会返回一个可能的文件扩展名.

它不会/不会根据文件的内容确定mime类型.你需要另一种工具来做到这一点.Libmagic是unix文件命令背后的库,是其中一种工具.filemagic模块(https://pypi.python.org/pypi/filemagic/1.6)是libmagic的python接口.

import urllib2
import magic

img_data = urllib2.urlopen('https://www.google.com/images/srpr/logo11w.png').read()
# You can add flags 
# magic.Magic(flags=magic.MAGIC_MIME_TYPE) for take "/image/png"
m = magic.Magic()
print m.id_buffer(img_data)
m.close()
Run Code Online (Sandbox Code Playgroud)