【发布时间】:2014-07-23 10:38:09
【问题描述】:
我有这个正则表达式可以从 python 代码库中删除所有打印语句:
for f in $(find . -name '*.py') ;
do
egrep -v '^[ \t]print ' $f > $f.new
mv $f.new $f
done
但它并没有真正起作用..
find . -name '*.py' | xargs egrep '^[ \t]*print'
仍然从我的代码中打印出打印语句.. :(
但是,我想修改它以注释所有包含打印语句的行(因此它们并没有完全从代码库中消失)。
我怎样才能有效地做到这一点?更好的是,有没有一种自动化的方法可以将所有内容都转换为日志框架?
【问题讨论】:
-
[ \t]匹配一个空格。你想要[ \t]*。 -
Python 2.x 还是 Python 3?
-
目前为 2.x。我考虑使用 2to3 工具 --fix=print 但这只是将其转换为打印功能并在代码库中导致一堆错误..
-
[ \t] 与大多数机器上的 \s 相同
标签: python regex django logging comments