gpt4 book ai didi

python - 比较两个文件并写入一个新文件但只输出几行?

转载 作者:太空宇宙 更新时间:2023-11-04 03:55:54 25 4
gpt4 key购买 nike

我想比较两个 txt 文件的所有行,但是当我运行代码时它只响应了几个结果,循环运行无效,似乎错过了 File1 中的很多行,只出现了第一行文件 1.

问题:

我的循环有问题吗?非常感谢!

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

最佳答案

您应该在内部循环中重新打开 File2 或使用 file.seek 跳转到文件的开头,因为在第一次迭代后文件指针位于File2 的结尾。

关于 file.seek 的帮助:

>>> print file.seek.__doc__
seek(offset[, whence]) -> None. Move to new file position.

Argument offset is a byte count. Optional argument whence defaults to
0 (offset from start of file, offset should be >= 0); other values are 1
(move relative to current position, positive or negative), and 2 (move
relative to end of file, usually negative,....

关于python - 比较两个文件并写入一个新文件但只输出几行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18514979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com