2009-12-09 54 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