python - 如何使用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
.
解决方案
对于和我有同样问题的人来说,以下内容对我有用。我必须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'
推荐阅读
- node.js - 如何在mongodb中仅使用一个搜索字符串搜索多个字段
- oracle - PLSQL forall 中遇到符号“IF”
- typescript - 避免推断为数组元素的最小公分母
- animation - 如何在android中将视图移动到另一个视图的末尾
- c# - 如何按小时范围对从数据库获取的项目进行分组?
- maven - Jenkins mvn:即使路径设置正确也找不到从站
- javascript - 如果其他最短,我该怎么做?
- python-3.x - 根据 Dijkstras 算法访问的边缘更改 NetworkX 图中的边缘颜色
- javascript - 使用 js 的 Prime 打印机?
- php - Vue Js / Symfony / Api 平台身份验证通过会话错误 401