首页 > 解决方案 > 如何使用python找到文件的真实文件扩展名

问题描述

假设我有一个文件test.pdf,但我将扩展名更改jpeg为该文件现在是test.jpeg. 实际的文件格式应该仍然是 pdf 文件,因为 pdf 的文件签名是25 50 44 46 2d,而 jpeg 的文件签名是或者FF D8 FF DB其他FF D8 FF EE几个。

我尝试了如何检查文件的扩展名中的一些建议?. 但他们似乎都只是在寻找究竟apparent file extension是什么。例如,

>>> file_name, file_extension = os.path.splitext("/Users/mark/Desktop/test.jpeg")
>>> file_extension
'.jpeg'
>>> 

如图所示,最后提供的文件扩展名是,.jpeg但真正的文件扩展名实际上仍然是.pdf.

标签: python

解决方案


对于和我有同样问题的人来说,以下内容对我有用。我必须magic先从https://github.com/ahupp/python-magic安装。

>>> import magic
>>> magic.from_file("/Users/mark/Desktop/test_copy.jpeg")
'HTML document, ASCII text, with very long lines'

推荐阅读