Мне нужно запустить код Python 2.7 под Python 2.6, и мне было интересно, как это можно автоматизировать.Автоматический backport python 2.7 до 2.6
Некоторые конкретные простые изменения
sed -i -e 's/:,d/:d/g' -e 's/{0}/set([0])/g' foo.py
Однако, мне также нужно заменить
with open(foo) as f, open(bar) as b:
...
с
with open(foo) as f:
with open(bar) as b:
...
и гораздо менее очевидно для меня (мне нужно получить отступ справа, и мне не достаточно sed
-foo).
Любые предложения?
Есть ли в вашей кодовой базе много операторов 'с x, y', что стоит автоматизировать их замену, а не просто автоматизировать их открытие? Я не думаю, что «sed» подходит для этой работы в общем случае - вы, вероятно, захотите использовать собственный модуль «AST» или аналогичный Python - то, что понимает отступ Python для реального. –
@JohnZwinck: Я надеялся, что у кого-то уже есть что-то для этого; мы могли бы сделать это вручную, конечно, но я считаю, что автоматизация более надежная. – sds