13 年后...
此页面上有关 python 3 的大多数答案要么已过时,要么不完整。
要获得我使用的 mime 类型:
import mimetypes
mt = mimetypes.guess_type("https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf")
if mt:
print("Mime Type:", mt[0])
else:
print("Cannot determine Mime Type")
# Mime Type: application/pdf
现场演示
来自Python 文档:
mimetypes.guess_type
(网址,严格=真)
根据url给出的文件名、路径或 URL 猜测文件的类型。URL 可以是字符串或类似路径的对象。
返回值是一个元组(type, encoding)
,其中type是None
如果无法猜测类型(缺少或未知后缀)或格式为 的字符串'type/subtype'
,可用于 MIME内容类型标头。
encoding用于None
无编码或用于编码的程序的名称(例如compress或gzip)。编码适合用作Content-Encoding标头,而不是Content-Transfer-Encoding标头。映射是表驱动的。编码后缀区分大小写;类型后缀首先尝试区分大小写,然后不区分大小写。
可选的strict参数是一个标志,指定已知 MIME 类型的列表是否仅限于在IANA 注册的官方类型。当strict是True
(默认)时,仅支持 IANA 类型;当strict is时False
,还会识别一些额外的非标准但常用的 MIME 类型。
在 3.8 版更改: 添加了对 url 作为类路径对象的支持。