对于在特定于版本的 python 中导入模块,哪种方法最有意义?我的用例是,我正在编写将部署到 python 2.3 环境中的代码,并在几个月内升级到 python 2.5。这:
if sys.version_info[:2] >= (2, 5):
from string import Template
else:
from our.compat.string import Template
or this
try:
from string import Template
except ImportError:
from our.compat.string import Template
我知道这两种情况都同样正确并且工作正常,但哪一种更好?
总是第二种方式 - 你永远不知道不同的 Python 安装会安装什么。Template
在特定情况下,它不太重要,但是当您测试功能而不是版本控制时,您总是会更加健壮。
我就是这样做的Testoob http://www.testoob.org支持Python 2.2 - 2.6:我尝试以不同的方式导入模块,直到它起作用。它也与第三方库相关。
这是一个极端的情况 - 支持 ElementTree 显示的不同选项:
try: import elementtree.ElementTree as ET
except ImportError:
try: import cElementTree as ET
except ImportError:
try: import lxml.etree as ET
except ImportError:
import xml.etree.ElementTree as ET # Python 2.5 and up
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)