Я пытался создать синтаксический анализатор в Python, который просматривает несколько файлов, ищет заданные слова и возвращает все строки, содержащие эту строку.
Метод, который я использую, создает одну и ту же строку издокумент, содержащий искомое слово, печатается несколько раз, если эта строка содержит несколько слов, которые пытается найти пользователь.
Используемый в настоящее время метод поиска:
for line in range(0,length_of_documents):
for word in range(0,words):
if words[word] in document[line]:
print(document[line])
Чтобы преодолеть этоМне нужно написать что-то вроде:
for line in range(0,length_of_documents):
for word in range(0,words):
if words[0] in document[line] or if words[1] in document[line] or if words[2] in document[line]:
print(document[line])
Но я не знаю, сколько слов пользователь может ввести для строки поиска.Какое возможное решение для этого?
Я использовал функцию eval (), которая передается в строке динамически генерируется, если слова [0] в документе [строка] или если слова [1] в документе [строка] или ........ 'во время выполнения, но это не работает.Я получаю синтаксическую ошибку при 'if'.