Python 比较两个文本文件,删除重复行

Python 比较两个文本文件,删除重复行,python,compare,lines,Python,Compare,Lines,我有两个文本文件,file1.txt和file2.txt,我需要比较和删除重复的行。这两个文件大小不相等 我试过使用filecmp和openfiles,但它们不起作用 with open('crones.txt', 'r') as file1: with open('destino.txt', 'r+') as file2: lineas = file1.readlines() same = set(file1).intersection(file2)

我有两个文本文件,file1.txt和file2.txt,我需要比较和删除重复的行。这两个文件大小不相等

我试过使用
filecmp
openfiles
,但它们不起作用

with open('crones.txt', 'r') as file1:
    with open('destino.txt', 'r+') as file2:
        lineas = file1.readlines()
        same = set(file1).intersection(file2)

        file2.close()
        file1.close()
        #file1 = open("crones.txt","w")
        #for linea in lineas:
        #    if linea!=same+"\n":
        #        f.write(linea)


        print same
        print lineas


#same.discard('\n')

#with open('some_output_file.txt', 'w') as FO:
 #   for line in same:
 #       FO.write(line)

这可能是您正在寻找的:

with open('file1.txt', 'r') as f1, open('file2.txt', 'r') as f2:
    a = f1.readlines()
    b = f2.readlines()

non_duplicates = [line for line in a if line not in b]
non_duplicates += [line for line in b if line not in a]
非重复项现在是一个列表,其中包含每个文件中未出现在两个文件中的所有行。如果您还担心每个文件中存在重复项,可以添加以下内容:

non_duplicates = list(set(non_duplicates))
其他一些注意事项:

  • 听听这里的评论。如果您遵循上stackoverflow帮助部分中发布的指导原则,您将获得更多答案。具体来说,请确保您首先尝试编写代码。如果不起作用,发布明确的错误消息,并描述导致这些错误的输入
  • 你应该把重点放在使用上
  • 很好,你发布了一些代码,但要摆脱注释过的混乱。我们不想看到你的乱七八糟、乱七八糟、还在进行中的代码。您发布的代码应该是一个示例,演示您遇到的问题

  • 请回答您的问题并发布您尝试过的代码。StackOverflow不是一个代码编写服务,但是我们可以帮助您解决您可能遇到的任何问题。请确保包含所有错误消息的全文。如果您不包含代码并准确解释您正在尝试执行的操作以及哪些操作不适用于您的代码,我们将无能为力?你试过什么?您的输入示例?@dawg@user3795147就在那里。现在添加两个示例文件file1.txt和file2.txt,并将实际结果添加到问题中。