自动向后移植python 2.7到2.6

时间:2016-05-11 16:31:01

标签: python python-2.7 sed backport

我需要在Python 2.6下运行一些Python 2.7代码,我想知道如何自动化。

一些特定的简单更改

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在这里还不够。)

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

不,请勿使用sed。您需要的是一个理解重构或宏的IDE。例如,这是我在vim中要做的事情:

  • 搜索with A as a, with B as B:模式

  • 开始录制宏qa

  • 找到逗号f,

  • 将其替换为冒号r:

  • 删除空格,然后输入换行符lx<enter>

  • 制表符或使用空格缩进

  • q停止录制

然后,您遍历搜索并按@a重播宏。