You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何使用guess_type与types_map获取.tgz文件MIME类型结果不同?

为什么Python的mimetypes模块对.tgz文件返回两种不同的MIME类型?

这两个方法的工作逻辑完全不同,才导致了结果差异:

  • mimetypes.types_map 是静态键值对映射:它本质就是个预定义的字典,直接把.tgz这个后缀和application/gzip绑定死了,查询时直接返回对应值,没有任何额外的解析逻辑。
  • mimetypes.guess_type() 带有智能推断逻辑:它会尝试识别复合后缀的实际含义。.tgz其实是.tar.gz的简写——也就是一个经过gzip压缩的tar归档文件。guess_type() 会拆解这个复合后缀,识别出底层的文件类型是tar归档,所以返回application/x-tar(如果查看完整的返回元组,第二个元素会是gzip,代表该文件的压缩编码)。

简单来说,一个是硬编码的直接映射,一个是能“读懂”后缀背后实际文件类型的智能推断,结果自然不一样。

内容的提问来源于stack exchange,提问作者Sc0rian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:08:08