#python #python-2.7 #python-3.x #automation
#python #python-2.7 #python-3.x #автоматизация
Вопрос:
В будущем мы хотим поддерживать Python 2.7 и 3.4 из одной базы кода.
Я искал автоматизированные инструменты, но lib2to3, похоже, в результате поддерживает только Python 3.
Я знаю, что библиотека six могла бы нам помочь, но у нас много исходных файлов Python.
Моя мечта: Инструмент, который добавляет это (или даже больше будущих импортов) в каждый файл:
from __future__ import absolute_import, division, unicode_literals, print_function
и инструмент должен обновиться:
- все
u'...'
—>'...'
print foo
—>print(foo)
- …
Комментарии:
1. Похоже, что lib2to3 выполняет большую часть того, что вам нужно, в нем просто отсутствует __future__ imports, верно? Итак, вы могли бы использовать lib2to3 для создания допустимого python3, затем что-то вроде awk для добавления __future__ imports и сделать его также допустимым python2. Или я что-то пропустил?