如何从Python代码库中注释/删除所有打印语句



我用这个正则表达式从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'

仍然打印出我代码中的print语句。(

然而,我想修改这个注释所有有打印语句的行(这样它们就不会完全从代码库中消失)。

我如何才能有效地做到这一点?更好的是,有一种自动的方式将所有内容转换为日志框架?

Sed是该工作的工具。

find . -name '*.py' -exec sed -ri "s/(^s*)(print.*$)/#12/g" {} ;

Mac OS X或BSD:

find . -name '*.py' -exec sed -Ei "s/(^[[:space:]]*)(print.*$)/#12/g" {} ;

最新更新