如何检查没有扩展名的文件类型?
问题描述
我有一个装满文件的文件夹,而它们没有扩展名。如何检查文件类型?我想检查文件类型并相应地更改文件名。让我们假设函数filetype(x)
返回类似png
的文件类型。我想这样做:
files = os.listdir(".")
for f in files:
os.rename(f, f+filetype(f))
如何执行此操作?
解决方案
有一些Python库可以根据文件内容(通常是头/幻数)识别文件,并且不依赖于文件名或扩展名。
如果要处理多种不同的文件类型,可以使用python-magic
。这只是建立良好的magic
库的Python绑定。这个有很好的声誉,在我有限的使用中,它是可靠的。
还有用于更专用文件类型的库。例如,Python标准库有imghdr
模块,它只对图像文件类型执行相同的操作。
如果您需要检查无依赖项(纯Python)文件类型,请参阅filetype
。
相关文章