以下是一个解决方法的代码示例:
def remove_duplicates(file_path):
lines_seen = set() # 用于存储已经出现过的行
lines_to_keep = [] # 用于存储需要保留的行
with open(file_path, 'r') as file:
for line in file:
if line not in lines_seen:
lines_seen.add(line)
lines_to_keep.append(line)
# 将保留的行写入新的文件
with open('output.txt', 'w') as file:
file.writelines(lines_to_keep)
# 调用示例
remove_duplicates('input.txt')
上述代码首先创建了一个空集合lines_seen
来存储已经出现过的行。然后,它遍历输入文件的每一行。如果当前行不在lines_seen
中,表示它是第一次出现,我们将它添加到lines_seen
中,并将它添加到lines_to_keep
列表中。最后,我们将lines_to_keep
列表中的行写入一个新的文件中(这里命名为output.txt
)。
这样,output.txt
文件中将只保留最后一个重复的行,而且列不同的行也会保留。
上一篇:保留最后一个重复的行