2013-08-05 5 views
1

Im пытаются искать и найти правильное слово в файлкак найти слово в питоне

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

Этот код на самом деле найти слово, которое я ввел, но найти слово, даже если он не полностью введен Например, если у меня есть слово «findme» в файле, скрипт найдет его, если я введу только «fi» в raw_input

Как написать скрипт, который возвращает меня Правда, если он находит полное слово в файл?

ответ

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

Хорошо, но im получает следующую ошибку: объект 'str' не имеет атрибута 'format' – Pythonizer

Смежные вопросы