使用Python获取文件的mimetype

时间:2013-01-19 07:38:21

标签: python

我想确定xml文件的mimetype,但我收到一些关于某个实例的错误作为第一个参数。我是python的新手请帮忙。下面是我正在使用的代码以及它抛出的错误。

from mimetypes import MimeTypes
import urllib 
FILENAME = 'Upload.xml'
url = urllib.pathname2url(FILENAME)
type = MimeTypes.guess_type(url)
print type

**ERROR :** Traceback (most recent call last):
File "/home/navi/Desktop/quicksort.py", line 20, in <module>
type = MimeTypes.guess_type(url)
TypeError: unbound method guess_type() must be called with MimeTypes instance as first argument (got str instance instead)

1 个答案:

答案 0 :(得分:23)

错误说您必须初始化MimeTypes类:

>>> from mimetypes import MimeTypes
>>> import urllib 
>>> 
>>> mime = MimeTypes()
>>> url = urllib.pathname2url('Upload.xml')
>>> mime_type = mime.guess_type(url)
>>> 
>>> print mime_type
('application/xml', None)

虽然您可以跳过此操作并直接使用mimetypes.guess_type

>>> import urllib, mimetypes
>>> 
>>> url = urllib.pathname2url('Upload.xml')
>>> print mimetypes.guess_type(url)
('application/xml', None)