【发布时间】:2012-01-09 08:04:15
【问题描述】:
当我尝试比较两个大文件时遇到问题。我想做的是从一个文件中取一行,搜索另一个文件的所有行以查找匹配项,如果没有,则将该行写入另一个文件。我可以通过下面的简单示例重新创建问题:
file1.txt(内容)
apple
banana
pear
peach
lime
file_old.txt(内容)
lime
apple
pear
peach
由于我正在寻找 file1 中不在 file_old 中的行,因此我希望 'banana' 将是输出文件中显示的唯一值。但在输出文件“*fill_diff*”中,我显示的是:
apple
banana
banana
我的代码尝试在文件中产生差异有什么问题?
def main():
file_old = open(r'C:\Users\test\Desktop\file_old.txt', 'r+')
file_new = open(r'C:\Users\test\Desktop\file1.txt', 'r+')
file_diff = open(r'C:\Users\test\Desktop\file_diff.txt', 'w')
for each_line in file_new:
for every_line in file_old:
if each_line == every_line:
break
file_diff.write(each_line)
file_old.close()
file_new.close()
file_diff.close()
main()
谢谢!
【问题讨论】: