Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python删除重复项并将其写入新文件_Python - Fatal编程技术网

Python删除重复项并将其写入新文件

Python删除重复项并将其写入新文件,python,Python,我想从文本文件中删除重复的行并写入两个新的文本文件:一个是不重复的输出文件,另一个是包含在原始文件中重复的行的文件 import re import sys lines_seen = set() # holds lines already seen lines_seen.clear() dups=open("dups.txt", "w") outfile = open("out.txt", "w") for line in open("input.txt", "r"): if line

我想从文本文件中删除重复的行并写入两个新的文本文件:一个是不重复的输出文件,另一个是包含在原始文件中重复的行的文件

import re
import sys

lines_seen = set() # holds lines already seen
lines_seen.clear()
dups=open("dups.txt", "w")
outfile = open("out.txt", "w")
for line in open("input.txt", "r"):
    if line not in lines_seen: # not a duplicate
        outfile.write(line)
        lines_seen.add(line)

    else:

        dups.write(line)
lines_seen.clear()
outfile.close()
dups.close()

输出文件比原始文件小,这意味着删除了一些行;但是,复制的文件是空的,不会写入重复的行。

因为要清除dups文件并再次写入,所以需要将其追加:

dups=open("dups.txt", "a")

你的代码对我有用。最后确保您读取的文件是正确的。此外,开始时不需要2个导入