我有一个我知道开发的文件是opml标记,但是该文件没有扩展名,因为当然文件扩展名没有定义文件。在ubuntu上,mimetype
命令正确识别文件:
$ mimetype myfile
myfile: text/x-opml+xml
Python,就我所知,它不会做任何等效的mimetype猜测,而是具有单个查找表的类,该表将文件扩展名愚蠢地映射到mimetypes。甚至事先调用他们的mimtyles读取文件上的方法,我希望它可以提供更多信息的对象,只返回None,并且不会影响MimeTypes对象以供将来调用。
#!/usr/bin/env python2
PATH = 'myfile'
from mimetypes import mimetypes
mimetypes = MimeTypes()
print(PATH)
print(mimetypes.read(PATH))
print(mimetypes.guess_type(PATH))
通话输出:
$ python2 ./myscript.py
myfile
None
(None, None)
所以我正在考虑使用子进程来调用系统的文件的mimetype标识符,但我真的希望保持这种跨平台/可移植性。有什么想法吗?