从__future__导入with_statement需要哪个python版本?

时间:2010-09-25 00:26:57

标签: python python-import

使用python 2.6.5,我可以使用with语句而不调用from __future__ import with_statement。如何在不专门从with导入的情况下判断哪个版本的Python支持__future__

3 个答案:

答案 0 :(得分:46)

__future__功能是自我记录的。试试这个:

>>> from __future__ import with_statement
>>> with_statement.getOptionalRelease()
(2, 5, 0, 'alpha', 1)
>>> with_statement.getMandatoryRelease()
(2, 6, 0, 'alpha', 0)

这些分别表示支持from __future__ import with_statement的第一个版本以及不使用from __future__支持它的第一个版本。

另外,请阅读:

>>> import __future__
>>> help(__future__)

答案 1 :(得分:16)

你只需要在Python 2.5中使用它。旧版本(< = 2.4)不支持它,而较新版本(> = 2.6)默认启用它。

因此,如果您想支持Python> = 2.5,您可以简单地将from __future__ import with_statement放在开头。对于较新的版本,它将被忽略。

答案 2 :(得分:1)

来自doc:

New in version 2.5.