LoginSignup
16
12

More than 5 years have passed since last update.

PythonでMIMEタイプを取得してファイルの形式を判定

Last updated at Posted at 2017-03-23

PythonでファイルのMIMEタイプを取得する方法です。
これによって、入力されてきたファイルの形式で判断して動作を変えることが出来ますね。

取得

import mimetypes
mime = mimetypes.guess_type(ファイルのパス)
print(mime) # => (MIMEタイプ, エンコード形式)

たったのこれだけです。
エンコード形式の部分には、gzipで圧縮されたファイルだったりするとなにか値が出ますが、基本的にNoneとなります。

ファイルの形式によって動作を変える

簡単な例として、Markdownファイルだけ受け付けるとしましょう。
それ以外のファイルが入力されてきたら、エラーメッセージを出します。

markdown.py
import mimetypes
import sys

input = sys.argv[1]
mime = mimetypes.guess_type(input)

if mime[0] = "text/markdown":
    print("お前はMarkdownファイルだな!")
else:
    print("{mime}のタイプのファイルはあっちいけシッシッ!".format(mime=mime[0]))

実行すると...

$ python3 markdown.py hoge.md
お前はMarkdownファイルだな!
$ python3 markdown.py fuga.jpg
image/jpegのタイプのファイルはあっちいけシッシッ!
16
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
12