2012-08-11 72 views
0

可能重複:
How to find the mime type of a file in python?從文件內容檢測文件類型,而不是文件名

我想檢測文件的類型,但我不希望看看擴展名,因爲它可能不正確。 mimetypes模塊是基於文件名的。

有沒有一種標準的方法來偷看文件內?

+0

爲什麼它不好?提供證據 – 2012-08-11 18:50:05

+1

我不想使用mimetypes模塊,因爲此模塊僅查找文件路徑。例如文件test.pdf的名稱,但是這是帶假名的.doc文件。 – Gr1N 2012-08-11 19:01:38

+0

不是一個重複的問題 - 引用的答案是看文件名稱而不是文件內容 – Alvin 2016-02-16 18:46:37

回答

6

嘗試安裝python-magic模塊。

>>> mime = magic.Magic(mime=True) 
>>> mime.from_file("testdata/abc.pdf") 
'application/pdf' 
+0

+1很好的答案,但我不得不尋找它,並且文檔很簡單。它可能只適用於unixes,但我不確定。 – msw 2012-08-11 20:49:35

+0

這是很好的模塊,但我只想使用標準庫。 – Gr1N 2012-08-12 08:33:53

+0

在沒有文件擴展名或錯誤文件擴展名,Python 3.X和Web應用程序的情況下檢查我的答案http://stackoverflow.com/a/39356849/1209842 – 2016-09-06 20:05:23

相關問題