我使用的是python2.6,在我的长程序中有一堆print语句。如何用我的自定义打印函数替换它们,让我们称其为scribble()。因为如果我只是搜索并用scribble替换print (没有结束的父句。我认为正则表达式就是这样,但我已经用了一天左右的时间来试验它,我似乎不能让它工作。
发布于 2012-05-12 05:42:32
使用编辑器的
我不知道您使用的是哪个编辑器,但如果它支持RegEx搜索和替换,您可以尝试如下所示:
Replace: print "(.*?)"
With: scribble( "\1" )我在Notepad++中对此进行了测试。
使用Python的
或者,您可以使用Python本身来执行此操作:
import re
f = open( "code.py", "r" )
newsrc = re.sub( "print \"(.*?)\"", "scribble( \"\\1\" )", f.read() )
f.close()
f = open( "newcode.py", "w" )
f.write( newsrc )
f.close()https://stackoverflow.com/questions/10558986
复制相似问题