【发布时间】:2017-02-22 10:32:55
【问题描述】:
我们有 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()
由于某种原因,这个程序只是重新打印输入文件。 我的导师告诉我不要使用任何结构作为数组或列表,所以我们只需要比较行。
【问题讨论】:
-
如果你不能使用
list(或dict或set?)那么你应该如何存储你已经看到的行? -
据我了解,我们只能使用 filename.readLine(),所以我们应该以某种方式比较两条相邻的行。这是我的想法。
-
主要问题是如何比较相邻的行,因为我的“if”语句总是False,所以程序总是转到“else”
-
是的,因为您已经删除了第一行但没有删除连续的行..
-
@AbhishekJebaraj 即使在我删除了 rstrip() 行之后它也没有用。