思路:一行行读取,把第i行的字符串放入列表的第i个元素,然后两个列表每个元素逐一对比。
list1 = []
list2 = []
with open('csgo_schinese.txt', 'r', encoding='utf-16') as f:
temp = f.readline()
while len(temp):
list1.append(temp)
temp = f.readline()
with open('csgo_schinese(initial).txt', 'r', encoding='utf-16') as f1:
temp1 = f1.readline()
while len(temp1):
list2.append(temp1)
temp1 = f1.readline()
index = []
for i in range(len(list1)):
if list1[i] == list2[i]:
continue
else:
index.append(i)
for i in index:
print('---------------')
print("修改前"+list2[i])
print("修改后"+list1[i])
print("共修改了{}处".format(len(index)))
可能会忘记的点:
1、encoding主要看文件是什么类型的,因文件而异
2、while后面接一个数字,非0数字则循环继续,若为while 0:则循环终止。readline()读到文件末尾后,下一行的字符串长度为0,故到末尾会终止循环。