如何判断Python中文件是否是二进制文件(非文本)?
我正在Python中搜索大量文件,并始终在二进制文件中获取匹配项。这使输出看起来异常混乱。
我知道我可以使用grep -I
,但是我对数据所做的事情超出了grep所允许的范围。
过去,我只会搜索大于的字符0x7f
,但是utf8
类似的字符在现代系统上是不可能做到的。理想情况下,解决方案应该很快。
您还可以使用mimetypes模块:
import mimetypes
...
mime = mimetypes.guess_type(file)
编译二进制mime类型的列表非常容易。例如,Apache分发了mime.types文件,您可以将其解析为一组列表(二进制和文本),然后检查该mime是否在文本列表或二进制列表中。
我正在编写一个C库,用于在不同格式/编解码器之间对音频进行解码和编码。在加载所需的编解码器库之前,我有一个快速检测格式的例程。 对于WAV文件,可以在文件开头简单查找ASCII值“RIFF”和“WAVE”。这同样适用于FLAC,我们可以简单地读取前4个字节,即“FLAC”。 但是如何快速检测文件是否是MP3?我不能依赖文件扩展名。我也无法尝试解码第一个MP3帧,因为文件开头可能有其他数据(例如:I
问题内容: 我有一个字节列表作为整数,这类似于 如何将此列表作为二进制文件写入文件? 这行得通吗? 问题答案: 这正是用于: 如果您使用的是Python 3.x,则可以改用(也许应该这样做,因为它可以更好地表明您的意图)。但是在Python 2.x中,这是行不通的,因为它只是的别名。像往常一样,使用交互式解释器进行显示比使用文本进行解释要容易,所以让我这样做。 Python 3.x: Python
rank ▲ ✰ vote url 4 1266 285 929 url 用Python如何一个文件是否存在? 不用try:语句可以一个文件存在 如果不确定文件存不存在,可以这样做: import os.path os.path.isfile(fname)
问题内容: 我有一些从Go程序中读取的文本文件。我想提供一个可执行文件,而无需另外提供该文本文件。如何将其嵌入Windows和Linux上的编译中? 问题答案: 使用go-bindata。从自述文件: 该工具可将任何文件转换为可管理的Go源代码。对于将二进制数据嵌入到go程序中很有用。在转换为原始字节片之前,可以选择对文件数据进行gzip压缩。
问题内容: 目前,我可以按如下方式检索文本页面 假设get以二进制文件为目标。如何将其正确保存到磁盘? 问题答案: 只是不要通过-从中读取数据并将其写入。
问题内容: 我正在使用某些文件,并且想知道是否存在一种检查文件是否为图像的方法? 问题答案: 这对我来说很好。希望我能帮上忙