2012-09-04 41 views
1

我要根據他們在python.Before擴展寫它自己的文件類型我想檢查是否有可用於這一目的的任何Python包進行分類。按文件類型我的意思是分類爲例如。 Doc,ppt,pdf,tar,txt,iso等理想情況下,它將文件名作爲輸入並返回它的類型。我在linux上運行的Python:確定文件類型通過查看它的擴展

+0

文件的擴展名無關和它的類型。 –

+3

看看這個問題:http://stackoverflow.com/questions/43580/how-to-find-the-mime-type-of-a-file-in-python。你可以用'mimetypes'來擴展*,但是像'python-magic'(在第二個答案中提到的)可能更可靠。 – kwatford

+0

不*沒有*(你希望他們是相關的),但它們絕對不是一回事。例如,您完全可以將'.jpg'的擴展名更改爲'.doc',但類型仍然是jpeg。 –

回答

1

在Linux中,您可以使用'file'utillity來確定文件類型。所以,如果你願意,你可以使用它,並在你的腳本也:

import subprocess 
subprocess.call(['file', 'yourfile']) 
+1

命令「文件」使用libmagic庫,有一個「蟒魔法」模塊,它提供本地接口,並使用相同的邏輯。 – neutrinus