在Python中,从输入读取文件内容并将其写入输出,但不应将相同内容附加到输出

时间:2018-08-08 08:52:01

标签: python python-3.x python-2.7

我在python中需要从输入数据的输入中读取文件,并将该数据写入输出文件,但是在将数据写入/追加到输出文件中之前,我必须检查(与输出文件):

  • 如果再次馈入相同的数据,则不应将其写入/追加到输出文件(无重复)
  • 如果数据不同,则仅追加到输出文件

1 个答案:

答案 0 :(得分:-1)

终于我自己解决了。这是代码:

Input file: ifile.txt
>>> This is my input file data

output file: ofile.txt
>>> hello

process file: process.py

""" Not to append duplicate data to output file"""

existingLines = set(line.strip() for line in open('ofile.txt'))

outfile = open("ofile.txt", "a+")
for content in open('ifile.txt', "r"):
    if content not in existingLines: # to void duplicate lines
        outfile.write(content+'\n')
        existingLines.add(content)
outfile.close()

现在,如果我再次使用输入文件的相同数据运行过程文件,则该数据将不会附加到输出文件中。

输出将是:

hello
This is my input file data