1
中定義。我想寫兩個類似庫的包裝,這會給我一個公共的API給他們兩個。例如:警告:'除了ImportError'的try塊中的'X'也應該在塊
# file XY.version.py
try:
import X # primary library
__version__ = X.__version__
except ImportError:
import Y # fallback library
__version__ = Y.__y_version__
PyCharm顯示警告"'X' in try block with 'except ImportError' should also be defined in except block"
。有沒有簡單的方法來重組代碼來擺脫消息?當然,我可以在開始或except
塊中執行X = None
,但由於我只需要導入X
以獲取版本,因此這種做法很人造。理想情況下,我不想在名稱空間中保留導入的痕跡。當然,我理論上可以在try
塊的末尾做del X
,但這是我在任何地方都沒有看到的東西,所以我認爲人們不會使用它並順便說一句。它不會刪除PyCharm中的警告消息。
注:我知道這與Checking module name inside 'except ImportError'類似,但我相信這是不一樣的。