2009-12-09 53 views
7

我的模塊目前正在導入json模塊,該模塊僅在2.6中提供。我想對python版本進行檢查,導入simplejson,它可以爲2.5(也就是2.6中採用的模塊)構建。例如:基於安裝的python版本導入模塊?

if __version__ 2.5: 
    import simplejson as json 
else: 
    import json 

解決此問題的最佳方法是什麼?

回答

12
try: 
    import simplejson as json 
except ImportError: 
    import json 

當然,這並不在時的python-2.5,你沒有simplejson安裝,同樣爲您做例子解決案件。

+1

可能想要做「進口simplejson爲JSON」雖然...但是,是的,不是檢查固定Python版本 – dlamotte 2009-12-09 16:57:31

+0

之前,我看到您的評論 – SilentGhost 2009-12-09 16:58:39

10

雖然導入錯誤的方法(SilentGhost的答案)絕對是最適合這個例子中,任何人想要做到這一點__version__事情會使用這樣的:

import sys 
if sys.version_info < (2, 6): 
    import simplejson as json 
else: 
    import json 

必須絕對清楚不過,這是做你想做的事情的「最佳方式」......它只是正確的方式來做你想要展示的東西__version__

+0

周圍的其他方法更好,simplejson在py2.5可 – SilentGhost 2009-12-09 17:49:01

+0

感謝校正...我的意思是> =而不是<。隨意刪除您的評論和我的(或者我會做我的,如果你不能)。 – 2009-12-09 17:51:55

+0

如果版本高於(2,6)有**沒有** simplejson可用! – SilentGhost 2009-12-09 17:58:49