如何检查没有扩展名的文件类型?

2022-02-25 00:00:00 python filesystems identification

问题描述

我有一个装满文件的文件夹,而它们没有扩展名。如何检查文件类型?我想检查文件类型并相应地更改文件名。让我们假设函数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

相关文章