python按行去重txt大文件,并不能打乱顺序
时间: 2024-12-18 20:29:17 浏览: 2
unique_file_python_去重_
在Python中处理大文件并按行去重且保持原有顺序,可以使用`collections.OrderedDict`结合`open()`函数的迭代器模式,因为`OrderedDict`会保留元素添加的顺序。以下是简单的步骤:
```python
import collections
def remove_duplicates(input_file, output_file):
with open(input_file, 'r') as fin, open(output_file, 'w', newline='') as fout:
seen = collections.OrderedDict()
for line in fin:
if line not in seen:
seen[line] = True
fout.write(line)
# 使用示例
remove_duplicates('input.txt', 'output.txt')
```
这段代码会读取`input.txt`文件,每次遇到未在`seen`字典中存在的行,就将其添加到`fout`中,并跳过重复行。由于`OrderedDict`会保持插入的顺序,所以结果文件`output.txt`中的行就是原文件的非重复行,且保持着原有的顺序。
阅读全文