Используя python 2.6.5, я могу использовать оператор with без вызова from __future__ import with_statement. Как я могу узнать, какая версия Python поддерживает with без специального импорта из __future__?
Какая версия python требуется из __future__ import with_statement?
Ответ 1
__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__)
Ответ 2
Вам это нужно только в Python 2.5. Старые версии (< = 2.4) не поддерживают его, а более новые версии ( >= 2.6) включили его по умолчанию.
Итак, если вы хотите поддерживать Python >= 2.5, вы можете просто положить from __future__ import with_statement в начале. Для более новых версий это просто будет проигнорировано.
Ответ 3
Из документа:
New in version 2.5.