Using python 2.6.5, I can use the with
statement without calling from __future__ import with_statement
. How can I tell which version of Python supports with
without specifically importing it from __future__
?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
__future__
features are self-documenting. Try this:
>>> from __future__ import with_statement
>>> with_statement.getOptionalRelease()
(2, 5, 0, 'alpha', 1)
>>> with_statement.getMandatoryRelease()
(2, 6, 0, 'alpha', 0)
These respectively indicate the first release supporting from __future__ import with_statement
and the first release to support it without using from __future__
.
Also, read this:
>>> import __future__
>>> help(__future__)
回答2:
You only need it in Python 2.5. Older versions (<= 2.4) don't support it and newer versions (>= 2.6) have it enabled by default.
So if you want to support Python >= 2.5, you can simply put the from __future__ import with_statement
at the beginning. For newer versions, it will simply be ignored.
回答3:
From the doc:
New in version 2.5.