Python文本中唯一的单词fi

2024-09-28 17:31:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要在文本文件中插入唯一的单词。每一行单词都是唯一的。在

每当一个新词作为变量“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

提前谢谢。在


Tags: 文件方法txtreturnaccessopen单词learn
1条回答
网友
1楼 · 发布于 2024-09-28 17:31:30

假设文件不是太大,您可以将其全部读入内存,然后检查单词是否存在:

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

    return word in words

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

相关问题 更多 >