python - 如何根据文件名预测文件的 MIME 类型?
问题描述
该函数用于根据文件名预测文件的 MIME 类型。如果它无法预测 mime 类型,则默认为application/octet-stream
,即任意二进制。我想知道是否有一种更 Pythonic/更简洁的方式来编写这个函数。
from mimetypes import guess_type
def guess_mime(fname):
try:
return tuple(guess_type(fname)[0].split('/'))
except AttributeError:
return 'application', 'octet-stream'
解决方案
使用Magic
库:
import magic
mime = magic.Magic(mime=True)
mime.from_file("testdata/test.pdf") # 'application/pdf'
易于安装:
pip install python-magic
推荐阅读
- python - 能够导入模块但不能从中导入东西
- javascript - 在模块中使用 import 导入变量或使用 const 定义变量有我不理解的行为
- javascript - 打字稿:比较两个具有公共键的不同对象数组并从源数组中获取公共对象
- sql - Postgres:开发过程是怎样的?
- javascript - JavaScript - 将 eventListener 添加到具有类型范围的所有输入
- python - 如何替换 Python 中键的值?
- java - Javafx 图标图像未加载
- c# - NotiIcon 的 ContextMenuStrip 的拐角处需要重写哪个方法?
- javascript - Mocha 错误:“isNumberPrime”函数不是函数错误
- arduino - 收到错误:“WiFiServer 类”没有名为“arg”的成员