2017-07-09 26 views
-3

我需要在文本文件中插入唯一字。每行一個單詞,該單詞在整個文件中將是唯一的。Python文本文件中的唯一字

每當一個新單詞出現變量「單詞」,那麼我需要一種方法來檢查它是否存在於文件中。如果它存在,那麼它會再次選擇另一個詞。它會再次檢查它是否存在,並且會這樣做直到一個獨特的單詞出現。

我該怎麼做?

順便說一句,我是這樣做的:

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 

在此先感謝。

+0

你已經試過了什麼? –

+0

@RayhaneMama對不起,沒有添加測試... –

回答

1

假設該文件不是太大,你可能只是這一切讀取到內存中,並檢查字有:

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

    return word in words 

如果你打算做其再次,你最好保留words列表並將它添加到文件中,而不是多次讀取它。 此外,從words創建set應該可以縮短搜索時間,如果您要將多個單詞添加到文件中,可能值得「努力」。

+0

請您詳細說明功能和用例嗎?我是新的... –