#! 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