前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >python2代码搬运到python3要改很多print? 试试用pyCharm的正则表达式替换

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

作者头像
blmoistawinde
发布2019-10-30 18:41:47
发布2019-10-30 18:41:47
80700
代码可运行
举报
运行总次数:0
代码可运行

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

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

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

代码语言:javascript
代码运行次数:0
复制
# find: print (\S*)
# replace: print($1)

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

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

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档