我對工作的Python 2.6/2.7的代碼,包含以下內容:Python:如果導入成功,可以__file__爲無?
try:
import gmpy
gmpy_imported=True
except ImportError:
gmpy_imported=False
if gmpy_imported and gmpy.__file__ is None:
gmpy_imported=False
我能理解try-except
部分,它是用來查看是否gmpy已經安裝在系統上 - 如果沒有,要做任何事情。但是,我不明白爲什麼if gmpy.__file__ is None
檢查是必要的;它似乎是多餘的。
有沒有任何情況下導入一個包似乎成功了,但是包的路徑實際上是空的?這是否仔細檢查防止損壞的安裝失敗?
如果這是Python 3.2+,與導入相關的代碼實際上足夠清晰,我們可以通過它來查看是否會發生這樣的事情。但我不認爲我想用舊代碼來嘗試... – abarnert 2013-02-20 00:57:28
不是,它是Python 2.我應該在問題中澄清這一點... – Boris 2013-02-20 21:40:11