哪种方法对于在python中导入特定于版本的模块最有意义?我的用例是,我正在编写代码,这些代码将部署到Python2.3环境中,并在几个月内升级到Python2.5。这:
if sys.version_info[:2] >= (2, 5):
from string import Template
else:
from our.compat.string import Template
或者这个
try:
from string import Template
except ImportError:
from our.compat.string import Template
我知道这两种情况都是正确的,但哪种情况更可取?
我可能会说第二个比较好。有时,可以将较新版本的python中的模块安装到较旧版本中。例如,wsgiref附带了Python 2.5,但将其安装到较旧版本中并不少见(我认为它将与python2.3一起使用)。
总是第二种方法-您永远不知道将安装哪些不同的Python安装。
Template
是一个不太重要的特定情况,但是当您测试功能而不是版本控制时,您总是更健壮。这就是我如何使Testoob支持Python 2.2-2.6:我尝试以不同的方式导入模块,直到它工作。它也与第三方图书馆有关。
下面是一个极端的例子-支持ElementTree出现的不同选项:
相关问题 更多 >
编程相关推荐