python - 如何消除文件: python中的重复行

标签 python string file

我们有 2 个文件:一个包含输入数据,另一个用于放置结果。文件中的所有信息都按行排列。该程序应查找文件中的重复行并仅打印不重复的行。以下是输入数据的示例:

apple
apple
apple
apple
banana
bargain
brick
brick
sample
sample
simple
text
text
text

以下是输出文件的示例:

apple
banana
bargain
brick
sample
simple
text

这是我的代码:

fileFrom = open ('data.txt', 'r')
fileTo = open ('result.txt', 'w')

line = fileFrom.readline()

while line != '':
    line = line.rstrip('\n')
    if line == fileFrom.readline():
        line = fileFrom.readline()
    else:
        fileTo.write(line + '\n')
    line = fileFrom.readline()

fileFrom.close()
fileTo.close()

由于某种原因,该程序只是重新打印输入文件。 我的老师告诉我不要使用任何结构作为数组或列表,因此我们只需比较行。

最佳答案

您在代码中用于“if”比较以及“if”内部的读取行太多次。不仅仅是您需要剥离每一行,然后才在剥离初始行时进行比较。

with open ('data.txt', 'r') as fileFrom:
    with open ('result.txt', 'w') as fileTo:
        line = fileFrom.readline()
        while line != '':
            line = line.rstrip('\n')
            line2 = fileFrom.readline().rstrip('\n');
            while(line==line2):
                line2 = fileFrom.readline().rstrip('\n');
            fileTo.write(line +'\n')
            line = line2

关于python - 如何消除文件: python中的重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42388722/

相关文章:

c++ - 从文件中读取字符串到数组

python - Tkinter 文本 : Setting tab spaces not working

python - 从管理员检测哪个模型创建并分配外键

python - 使用 eye3d 和 python 获取 mp3 播放时间

python - 将表从 google bigquery 导出到 google storage

c - 接收字符串消息时出现段错误

使用正则表达式替换重复的字符组

string - 通过 bash 在 SIFT 上的 "match"循环中连接超过 4 个字符串

C 编程错误 : Reading from a . txt 文件

c++ - C++ ofstream 文件写入是否使用缓冲区?