Python 比较两个文本文件,删除重复行
我有两个文本文件,file1.txt和file2.txt,我需要比较和删除重复的行。这两个文件大小不相等 我试过使用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)
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不是一个代码编写服务,但是我们可以帮助您解决您可能遇到的任何问题。请确保包含所有错误消息的全文。如果您不包含代码并准确解释您正在尝试执行的操作以及哪些操作不适用于您的代码,我们将无能为力?你试过什么?您的输入示例?@dawg@user3795147就在那里。现在添加两个示例文件file1.txt和file2.txt,并将实际结果添加到问题中。