2013-08-30 74 views
0

我想檢查給定文件的擴展名是否正確。例如,有人給我一個擴展名爲.zip的文件,但實際上它可能是一個可執行文件。使用mimetypes我無法確定文件的真實類型。據我所知,mimetypes需要擴展。使用python進行文件擴展名驗證

我可以用unix file命令的輸出映射一些擴展名。即使您更改了擴展名,也不能欺騙file命令。但是,這個解決方案需要一個子進程。

我想,這個問題可能會有更多的pythonic解決方案。有人知道嗎?

+0

@JesseJ這不是問題t我。它可以作爲文本文件處理。我想分開存檔,可執行文件,庫等。 –

回答

0

最終,沒有絕對的方式知道。由於以下幾個原因:

  • 某些文件格式使用簡單的標識符,但其他文件格式不。
  • 對於那些沒有,唯一的方法是分析一個程序的行爲能夠能夠格式。如果程序可以成功打開該文件,則它屬於它。
  • 但是,如果沒有,該文件可能屬於數百種格式,您沒有打開的程序。

恐怕你需要滿足於你已有的部分答案。

相關問題