2017-07-09 15 views
-3

テキストファイルにユニークな単語を挿入する必要があります。 1行に1単語とその単語がファイル全体で一意になります。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 

感謝を。

+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

機能と使用例を詳しく教えてください。私は新しいです... –

関連する問題