首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >python2代码搬运到python3要改很多print? 试试用pyCharm的正则表达式替换

python2代码搬运到python3要改很多print? 试试用pyCharm的正则表达式替换

作者头像
blmoistawinde
发布于 2019-10-30 18:41:47
发布于 2019-10-30 18:41:47
1K0
举报

在把以前的一些python2的代码搬运到python3时,最麻烦的一些修改莫过于就是要把以前的print x类的语句全部改成函数式的print(x)的形式。想用replace来解决问题,好像又没办法解决右边的括号问题。直到我发现了pycharm的正则表达式替换工具,这个问题一下就迎刃而解了!下面说明用法:

在replace面板,勾选右边的regex选项,这样find和replace都将使用正则表达式匹配【允许了更多高级模式,当然也要注意转义字符的问题,一些正常模式下能匹配的模式在这里可能需要修改】。

然后,输入下图中的模式就可以解决print的修改问题了。

代码语言:javascript
复制
# find: print (\S*)
# replace: print($1)

除了print问题,增减函数参数的问题也可以方便的用regex解决:

代码语言:javascript
复制
# find: open\((?<file>\S*),(?<rw>[^\)].*)\)
# replace: codecs.open(${file},${rw},"utf-8")
代码语言:javascript
复制
# find: codecs.open\((?<file>\S*),(?<rw>\S*),(?<arg3>[^\)]*)\)
# replace: open(${file},${rw})
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/06/29 ,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档