基本上,我有一个看起来像这样的Python类(代表我们的数据库架构)的很多:如何在没有大量手动编辑的情况下,用许多文件中的其他模块替换另一个类的类?
from foo import xyz, b, c
class bar(object):
x = xyz()
y = b()
z = c()
...我想把它改成这样:
from foo import b, c
from baz import foobar
class bar(object):
x = foobar()
y = b()
z = c()
本质上,我只是想用foobar
替换xyz
的所有实例。这是可以接受的我离开的的进口,所以这也将是罚款:
from foo import a, b, c
from baz import foobar
class bar(object):
x = foobar()
y = b()
z = c()
看来微不足道的做这个sed s/xyz/foobar/
,但我还是不得不回去改进口声明。我在做一些手工工作时很好,但我想学习新的方法来减少它的数量。
那么你会如何做这个改变?有什么我可以用sed来做到这一点?或绳子(我没有看到任何明显的东西可以帮助我)?
其实,它们比那个更独特(并且不太可能出现在其他地方)。为了简单起见,我只是使用'm'和'a'。 – 2009-11-04 16:09:31
我已经更新了页面,使它更清晰一点(虽然有点乳酪)。而sed方法不起作用,因为我可能会碰到'from foo import b,c,xyz'这样的东西。 – 2009-11-04 16:14:19