我想比较两个txt文件的所有行,但是当我运行代码时它只响应了几个结果,循环没有有效运行,它似乎在File1中漏掉了很多行,只出现了File1的第一行。在
问题:
我的线圈有问题吗?非常感谢
def compareLines(filename1,filename2):
File1=open(filename1,'r')
File2=open(filename2,'r')
File3=open("Result.txt",'w')
finalList=[]
for line1 in File1:
for line2 in File2:
set1=set(line1.split(" "))
set2=set(line2.split(" "))
print line1
print line2
similarNumber=len(set1.intersection(set2))/float(len(set1.union(set2)))
File3.write('Simmilar rate:'+str(similarNumber)+' '+str(len(set1.intersection(set2)))+" words in incoindence\n")
finalList.append(similarNumber)
File1.close()
File2.close()
File3.close()
os.remove(filename1)
os.remove(filename2)
return finalList
多亏了答案上面。还有我特别感谢Nisan.H和Ashwini Chaudhary,我已经通过您的帮助解决了这个问题,只在“forline2 in File2”前加一行~~~
def compareLines(文件名1,文件名2):
您应该在内部循环中重新打开
File2
,或者使用file.seek
跳到文件的开头,因为在第一次迭代之后,文件指针位于File2
的末尾。在关于
file.seek
的帮助:相关问题 更多 >
编程相关推荐