1. ホーム
  2. パイソン

[解決済み] PythonでファイルのMIMEタイプを見つけるには?

2022-04-18 18:56:12

質問

例えばBLOBのようなファイルの束をどこかに保存しておきたいとします。これらのファイルをWebページ経由で提供し、クライアントが自動的に正しいアプリケーション/ビューアを開くようにしたいとします。

想定しています。ブラウザはHTTPレスポンスのmime-type(content-type?)ヘッダーによって、どのアプリケーション/ビューワーを使用するかを判断します。

その前提で、ファイルのバイト数に加え、MIMEタイプも保存しておきたいのです。

ファイルのMIMEタイプはどうやって調べるのでしょうか?私は現在Macを使っていますが、これはWindowsでも使えるはずです。

ブラウザは、ファイルをウェブページに投稿するときに、この情報を追加しますか?

この情報を見つけるためのきちんとしたPythonのライブラリはありますか?WebServiceや(もっといいのは)ダウンロード可能なデータベースとか?

どのように解決するのですか?

で提案されているpython-magicの方法です。 トイビュートゥオ は時代遅れです。 Python-magicの 現在のトランクはGithubにあり、そこにあるreadmeに基づいて、MIMEタイプを見つけるのは、このように行われます。

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