如何在 python 中查找文件的 mime 类型?

新手上路,请多包涵

假设您想在某处保存一堆文件,例如在 BLOB 中。假设您想通过网页分发这些文件并让客户端自动打开正确的应用程序/查看器。

假设:浏览器通过 HTTP 响应中的 mime-type(内容类型?)标头确定要使用哪个应用程序/查看器。

基于该假设,除了文件的字节之外,您还希望保存 MIME 类型。

您如何找到文件的 MIME 类型?我目前使用的是 Mac,但这也适用于 Windows。

浏览器在将文件发布到网页时是否添加此信息?

是否有一个简洁的 python 库来查找这些信息? WebService 或(甚至更好)可下载的数据库?

原文由 Daren Thomas 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 616
2 个回答

toivotuo 建议的 python-magic 方法已经过时。 Python-magic 的 当前主干在 Github 上,根据那里的自述文件,找到 MIME 类型,就是这样完成的。

 # For MIME types
import magic
mime = magic.Magic(mime=True)
mime.from_file("testdata/test.pdf") # 'application/pdf'

原文由 Simon Zimmermann 发布,翻译遵循 CC BY-SA 4.0 许可协议

标准库中的 mimetypes 模块 将从文件扩展名确定/猜测 MIME 类型。

如果用户上传文件,HTTP post 将包含文件的 MIME 类型和数据。例如,Django 将此数据作为 UploadedFile 对象的属性提供。

原文由 David Webb 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏