如何在Python中检测文件是否为二进制文件非文本?

问题描述

您还可以使用mimetypes模块:

import mimetypes
...
mime = mimetypes.guess_type(file)

编译二进制mime类型的列表非常容易。例如,Apache分发了mime.types文件,您可以将其解析为一组列表(二进制和文本),然后检查该mime是否在文本列表或二进制列表中。

解决方法

如何判断Python中文件是否是二进制文件(非文本)?

我正在Python中搜索大量文件,并始终在二进制文件中获取匹配项。这使输出看起来异常混乱。

我知道我可以使用grep -I,但是我对数据所做的事情超出了grep所允许的范围。

过去,我只会搜索大于的字符0x7f,但是utf8类似的字符在现代系统上是不可能做到的。理想情况下,解决方案应该很快。