2017-07-12 58 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

回答