2011-06-29 76 views
0

我在阅读文件.txt,现在我想删除重复的单词。如何从.txt中删除单词

c = collections.Counter() 
with open('DatoSO.txt', 'rt') as f: 
     for line in f: 
      c.update(line.split()) 


for palabra,count in c.most_common(): 
    if count > 1 : 
     with open('DatoSO.txt', 'rt') as f: 
      Here REMOVE 

我不知道如何从文件中删除字

+0

你到底想做什么?删除连续两次写入的单词吗?如果你这样做,那么就像现在一样,摆脱这些单词的顺序并不会很有帮助。 –

+0

你的意思是你想索引单词并将结果重写为新文件?如果你想索引单词使用'OrderedSet()'。 – Lynch

+1

如果您可以显示输入文件的示例以及输出应该是什么样子,这将有所帮助。 –

回答

2

你不能从删除内容文件并将其余内容向下移动。您只能追加,截断或覆盖。

您的最佳选择是将文件读入内存,在内存中处理它,然后将其写回到磁盘。

0

使用正则表达式:

import re 

... 

f = re.sub(r'\w+\s?','',f) 
0

不要再使用

line.remove(string)