Processing XML in Python with ElementTreeを読んでいた時に気になりググった。
次のように書く。
try: import module.NewModule as aliasName except ImportError: try: import module.OldModule as aliasName except ImportError: """Error Handling"""
ImportErrorを補足するのだから当たり前だと言われそうだけど、asでエイリアスをつけているのがポイント。Pythonのバージョンや、マシンによって使えるモジュールに違いがあるとき、その差異を吸収するためのイディオムらしい。
python except ImportErrorで検索してみると当然のように使われているみたい。
利用頻度は多くないだろうけど、日本語でこのテクニック?に言及されてるのはここぐらいだったので一応書きとめておく。