如果c1.txt和c2.txt的第i行的数据相等的话,则删除c3.txt文件上的第i行的数据

以下是我写的代码 但是执行下来会将c3.txt中的东西全部删除


num=0
with open("D:/CloudMusic/result/c1.txt") as file01:
  for line in file01:
   num=num+1
# print(num)
# 计算一共有几行
with open("D:/CloudMusic/result/c1.txt",'r',encoding='ISO-8859-1') as x,\
        open("D:/CloudMusic/result/c2.txt",'r',encoding='ISO-8859-1') as y,\
        open("D:/CloudMusic/result/c3.txt", 'r', encoding='ISO-8859-1') as z:
   line3 = z.readlines()
   line1 = x.readlines()
   line2=y.readlines()

for i in range(num):
  if line1[i]==line2[i]:
   print("yes")
   with open("D:/CloudMusic/result/c3.txt", 'w', encoding='ISO-8859-1') as z:
       del line3[i]
  else:
    var=str(i+1)
    print("第"+var+"行不同。")

img


img

img

img

import linecache as lc

f1 = r'c1.txt'
f2 = r'c2.txt'
f3 = r'c3.txt'
lineNo = 1
line = lc.getline(f1, lineNo)
res = []
while line:
    if line != lc.getline(f2, lineNo):
        res.append(lc.getline(f3, lineNo))
    lineNo += 1
    line = lc.getline(f1, lineNo)
    
with open(f3, 'w') as f:
    f.writelines(res)