python实现txt文本内容去重且不打乱原本顺序
时间: 2023-09-23 14:00:50 浏览: 91
Python可以通过以下代码实现对txt文本内容的去重操作,同时保持原本的顺序不被打乱:
```python
def remove_duplicates(file_path):
lines_seen = set() # 用来保存已经出现过的行
output_lines = [] # 用来保存去重后的行
with open(file_path, 'r') as file:
for line in file:
line = line.strip() # 去除行首尾的空格和换行符
if line not in lines_seen:
lines_seen.add(line)
output_lines.append(line)
with open(file_path, 'w') as file:
file.write('\n'.join(output_lines))
file_path = "example.txt"
remove_duplicates(file_path)
```
该代码首先定义了一个空的集合lines_seen,用来保存已经出现过的行。然后,通过逐行读取txt文本文件的内容,对于每一行的内容,判断它是否已经存在于lines_seen集合中。如果不存在,则将该行添加到lines_seen集合中,并将该行也添加到output_lines列表中,表示该行需要保留。最后,将output_lines列表中的内容覆盖写回原本的txt文本文件中,即实现了去重且不打乱原本顺序的操作。
注意,该代码执行后会直接修改原本的txt文本文件,而不是将去重后的内容写入新的文件中。如果需要保留原文件,可以先备份原文件后再执行。
阅读全文