碰见有些python程序是2.7版本的,发现程序中print()函数和xrange()函数需要改变,不想一个一个的改,所以写了一个程序来更改。
代码:
import os
file1 = r'需要更改的程序的路径'
file2 = 'asd.txt'
with open(file1, 'r+', encoding='utf-8') as f:
file = f.read()
file = file.replace('xrange', 'range')
f2 = open(file2, 'w', encoding='utf-8')
f2.write(file)
f2.close()
os.remove(file1)
with open(file2, 'r', encoding='utf-8') as f:
for line in f.readlines():
a = line.find('print')
if a > 0:
b1 = line.find('t')
b2 = line.find('\n')
line = line[:b1+1] + '(' + line[b1+2:b2] + ')' + '\n'
f2 = open(file1, 'a', encoding='utf-8')
f2.write(line)
f2.close()
os.remove(file2)
整个代码就是这样,先把程序中的xrange替换为range保存在asd.txt文件中,把原来的文件删除掉,然后把print函数加上()保存为原文件的路径和名字,再把asd.txt文件删除掉,就完成了对程序的改变。
这个程序仅仅对range()和print()函数做出了改变,其他的并不能更改,解决了部分问题,减轻了一部分工作量。
在python的安装目录目录Python37\Tools\scripts
下有个2to3.py
程序也能实现python2到python3的转变。