您可以使用python-magic來檢測文件類型。它可以通過「pip install python-magic」進行安裝。
我假設你正在使用python 2.7,因爲你打電話給urlretreieve。這個例子適用於2.7,但很容易適應。
這是一個工作示例:
import mimetypes # Detects mimetype
import magic # Uses magic numbers to detect file type, and does so much better than the built in mimetypes
import urllib # Your library
import os # for renaming your file
mime = magic.Magic(mime=True)
output = "output" # Your file name without extension
urllib.urlretrieve("https://docs.python.org/3.0/library/mimetypes.html", output) # This is just an example url
mimes = mime.from_file(output) # Get mime type
ext = mimetypes.guess_all_extensions(mimes)[0] # Guess extension
os.rename(output, output+ext) # Rename file
你有沒有對服務器的控制?如在中,服務器允許您查詢或設置文件類型下載?除了嘗試將文件解析爲多種格式或尋找特定的頭文件格式外,真的沒有像通用的「文件類型檢測」這樣的東西。通常,下載網址將包含文件擴展名,這是確定文件類型的簡單方法。 –