《python print -> print() 》

#! usr/bin/env python
# -*- coding:utf-8 -*-
# __Author__ == ChristopherLam
# __StartTime__ == 20170825
# __EndTime__ == 20170825
# __LastChange__ ==
# filename:QuickPrint.py
import re
from sys import argv

search_print = re.compile('(print)( .*)')
filename = argv[1]
fp = open(filename, 'r')
lines = fp.readlines()

new = open('new.py', 'a')

for line in lines:
    try:
        is_line = search_print.match(str(line))
        if is_line.group():
            is_line = search_print.sub('print'+'('+str(is_line.group(2)).strip(' ')+')\n', str(is_line.group()))
            new.write(is_line)
    except Exception as e:
        print(e)
        new.write(line)
fp.close()
new.close()

写这个的起因是每次看到往上有好用的代码,拷贝下来却发现是python2.x的,我遇到的2->3大多数问题还是在print上,模块的迁移看看异常搜一搜就能改,一些代码里面一堆print,就写个脚本方便工作。和IDE里的替换一个效果,等同于把print .*?\n 替换为 print(.*?\n)。

该脚本无法实现多行的print替换,遇到手动改。

usage: python QuickPrint.py some.py

替换至new.py

发布了15 篇原创文章 · 获赞 3 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/Christopher_L1n/article/details/77587852