Lui*_*ell 15 python jpeg image mime-types
在处理下载程序时,我遇到了Python的mimetypes.guess_extension函数:
In [2]: mimetypes.guess_extension('image/jpeg', strict=False)
Out[2]: '.jpe'
Run Code Online (Sandbox Code Playgroud)
我知道jpeg和jpg是有效的JPEG扩展,但我不知道jpe.因此,查看维基百科网站确实揭示了以下内容:
使用JPEG压缩的文件最常用的文件扩展名是.jpg和.jpeg,但也使用.jpe,.jfif和.jif文件
更多我不知道的扩展.
所以主要的问题是:为什么JPEG有这么多(有效)扩展与它相关联?
在一个相关的说明中,我想知道为什么Python确实返回'jpe'而不是'jpg'或'jpeg',因为我看到这些使用最多.
Sim*_*ser 11
它似乎mimetypes.guess_extension返回所有可能的扩展中的第一个:
def guess_extension(self, type, strict=True):
# ...
extensions = self.guess_all_extensions(type, strict)
if not extensions:
return None
return extensions[0]
Run Code Online (Sandbox Code Playgroud)
因此,您将获得返回列表中的第一个mimetypes.guess_all_extensions,结果是:
>>> mimetypes.guess_all_extensions('image/jpeg', strict=False)
['.jpe', '.jpg', '.jpeg']
Run Code Online (Sandbox Code Playgroud)
我猜测为什么.jpe也有效:
在DOS和早期Windows版本中,文件名只能包含8个字符和3个字符(有关详细信息,请参阅维基百科上的文章8.3文件名).可能是他们将JPEG缩写为.JPE或.jpe - 这就是为什么我们现在有.jpe,.jpeg和.jpg.
确实,.jpeg和.jpg更常见.