Kha*_*eel 3 python binaryfiles file binary-data
我有一些没有扩展名的文件.我想将扩展名与他们联系起来.为此,我编写了一个python程序来读取文件中的数据.我怀疑的是,如果不使用第三方工具,如何在没有扩展名的情况下识别其类型.
我只需要识别pdf,doc和文本文件.其他类型的文件是不可能的.
我的服务器是中心
Bre*_*arn 10
您可以读取文件的前几个字节并查找"幻数".关于幻数的Wikipedia页面表明PDF文件以ASCII开头,%PDFdoc文件以hex D0 CF 11 E0开头.
在一般情况下识别文本文件将非常困难,因为许多标准幻数实际上是二进制文件开头的ASCII文本.对于您的情况,如果您可以保证您不会获得除PDF,DOC或TXT之外的任何内容,您可能可以获得的是检查PDF和DOC幻数,然后假设它是文本,如果它不是那些.
你还没说过你的操作系统.如果它是基于*nix的那个,那么在libmagic周围有一个python包装器(使用ctypes),它使用与file命令相同的底层机制,该命令可以通过检查内容来识别没有扩展名的文件.或者只是检查libmagic如何使用文件定义,并弄清楚它如何识别两种主要文件类型(doc,pdf),剩下的一切必须是文本;-)并扩展现有代码.