Python 3.13+mimetypesфункция
mimetypes.guess_file_type()
определение типа
Угадывает MIME-тип и сжатие по пути к файлу (str или Path). Вариант guess_type для путей, а не URL.
Синтаксис
mimetype, encoding = mimetypes.guess_file_type(path, *, strict=True)
guess_type разбирает аргумент как URL, поэтому символы '#' и '?' в имени файла считаются началом якоря или запроса, а на Windows путь вида C:\x.txt путается со схемой. guess_file_type видит в аргументе только путь и таких сюрпризов не даёт. Как и guess_type, она смотрит лишь на расширение и не открывает файл.
Примеры
import mimetypes
from pathlib import Path
print(mimetypes.guess_file_type(Path('docs/report.txt'))) # → ('text/plain', None)
print(mimetypes.guess_file_type('data.json')) # → ('application/json', None)
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности