2012-08-24 34 views

回答

2

一個簡單而幼稚的方法是使用libmagic(例如https://github.com/ahupp/python-magic)。更好的方法,但它不是本地Python,是一個非常廣泛的庫,將使用PIL http://www.pythonware.com/products/pil/

+0

PIL是否爲圖像以外的其他東西做文件名? – Wiz

+0

這兩者都沒有使用文件名。它們都會查看文件頭部的頭部信息,然後吐出文件類型。 PIL也會爲你驗證圖像,這就是爲什麼我說它更好。 – gcbirzan

+0

我擔心的是有人提交不是圖像的東西。 PIL仍然能夠看到它不是一個圖像,並提供文件類型? – Wiz

1

使用PIL

import sys 
import Image 

for infile in sys.argv[1:]: 
    try: 
     im = Image.open(infile) 
     print infile, im.format, "%dx%d" % im.size, im.mode 
    except IOError: 
     pass 

從文檔:

Python圖像庫支持多種圖像文件格式 。要從磁盤讀取文件,請使用圖像 模塊中的打開功能。您不必知道文件格式來打開文件。 庫會根據文件的內容 自動確定格式。