2017-07-12 51 views
0

我有一个问题,我需要识别文件类型(焦油的tar.gz或zip),我发现在这个网站的解决方案: Python - mechanism to identify compressed file type and uncompress蟒蛇检测,如果文件是tar或tar.gz的或zip

但该解决方案不适合tar文件工作,因为tar文件不具有相同的开始caractere ...

magic_dict = { 
    "\x1f\x8b\x08": "gz", 
    "\x00\x00\x00": "tar", 
    "\x50\x4b\x03\x04": "zip" 
    } 

max_len = max(len(x) for x in magic_dict) 

def file_type(filename): 
    with open(filename) as f: 
     file_start = f.read(max_len) 
    for magic, filetype in magic_dict.items(): 
     if file_start.startswith(magic): 
      return filetype 
    return "no match" 

我怎样才能使检测tar文件?

+0

这是蟒蛇2还是python 3? –

+0

我使用python 2.7 – user7454761

回答