2013-08-05 42 views
1

我試着在一個文件中如何找到Python中的字

file = ('data.bin', '+r') 
Filefind = file.read() 
f = raw_input("search a word: ") 
While f in Filefind: 
     print "this word is found!" 

這段代碼實際上發現我已經輸入的詞進行搜索,找到一個正確的單詞,但發現即使它沒有完全進入字 例如,如果我在文件中有「findme」單詞,腳本會在raw_input中只輸入「fi」時找到它。

如何編寫一個返回我的腳本如果發現完整單詞文件?

回答

4

使用regex與字邊界:

import re 
def search(word, text): 
    return bool(re.search(r'\b{}\b'.format(re.escape(word)), text)) 
... 
>>> search("foo", "foobar foospam") 
False 
>>> search("foo", "foobar foo") 
True 
+0

請explane我如何使用這個REGEXT上的一個文件,我從來沒有使用過在Python – Pythonizer

+0

@Streak有什麼問題?只需將文件的內容和正在搜索的單詞傳遞給此函數即可。 –

+0

好吧,但我得到以下錯誤:'str'對象沒有屬性'格式' – Pythonizer

相關問題