file_object = open('GameLogic.py', 'r')
output = open('gamelogic_for_int.py', 'w')
while True:
line = file_object.readline()
if not line:
break
theplaceoffor = line.find('for')
if theplaceoffor != -1:
theplaceofrange = line.find('range(')
line_beforerange = line[:theplaceofrange + 6]
theplaceofrightbracket = line.rfind('):')
line_param = line[theplaceofrange + 6:theplaceofrightbracket]
line_afterrange = line[theplaceofrightbracket:]
param_split4 = line_param[0:4]
if param_split4 != 'int(':
output.write(line_beforerange)
param_split = line_param.split(',')
for param in param_split:
output.write('int(')
output.write(param)
output.write(')')
output.write(line_afterrange)
else:
output.write(line)
else:
output.write(line)
其实很简单,就是打开文件A,只读。打开文件B,只写。循环读取A每一行,如果找到for,找range(,把range(的左括号之前全部拷贝到新文件,并把参数统统带上int()之后拼上右边DONE。如果没有找到for,直接拷贝整行。