我们有 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/