Python文本文件中的唯一单词

时间:2017-07-09 17:19:26

标签: python python-2.7 loops unique

我需要在文本文件中插入唯一的单词。每行一个单词,该单词在整个文件中将是唯一的。

每当一个新单词变为" word"然后我需要一种方法来检查它是否存在于文件中。如果它存在,那么它将再次选择另一个词。它将再次检查它是否存在,并将这样做,直到一个独特的单词出现。

我该怎么做?

顺便说一句,我在做:

    newword = "learn"
    f = open('wordlist.txt')
    s = mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ)
    while s.find(newword) != -1:
        return newword
    else:
        return newword

提前致谢。

1 个答案:

答案 0 :(得分:1)

假设文件不是太大,您可以将其全部读取到内存中,并检查该单词是否存在:

def word_in_file(filename, word):
    with open(filename) as f:
        words = f.read().splitlines()

    return word in words

如果您要多次执行此操作,最好保留words列表,并将添加到文件中的每个单词追加到其中,而不是多次读取。 此外,从set创建words可以缩短搜索时间,如果您要向文件添加多个字,则可能值得“努力”。