Всем привет. Я набросал маленький скрипт на питоне цель ,которого в том ,чтобы искать определенные слова в pdf-файле и возвращать обратно ,собственно, само слово и на какой странице оно находится ,а в дальнейшем записать это слово с его страницей в отдельный текстовый файл. В папке проекта находится пару текстовых файлов и изначальный pdf-файл ,а также пара питоновских файлов.
В этом файле реализована функция ,которая отвечает за нахождение слова в pdf-файле и за возвращение слова с номером страницы, на котором оно находится
AgroBook.pdf - pdf- файл
#pyForPdf
import PyPDF2
def func_pdfChecker(name):
with open('AgroBook.pdf', 'rb') as pdf_file:
pdf_reader = PyPDF2.PdfReader(pdf_file)
for page_num in range(len(pdf_reader.pages)):
pdf_page = pdf_reader.pages[page_num]
text_page = pdf_page.extract_text()
if name in text_page:
text_done = f'{name} {page_num + 1}'
return text_done
break
Этот файл отвечает за получение требуемых слов для поиска из текстового файла ListOfNames.txt(в этом файле список слов) и вызова функции func_pdfChecker
(Запись в отдельный текстовый файл пока не реализована)
#main
import pyForPdf
list_of_names = []
with open('ListOfNames.txt', encoding='utf-8') as list_names:
list_of_names = list_names.readlines()
list_names.close()
#сама проблема
print(pyForPdf.func_pdfChecker('Абакус Прайм, СЭ'))
print(pyForPdf.func_pdfChecker(list_of_names[0]))
Собственно сама проблема в том ,что когда я задаю параметр для функции func_pdfChecker в ручную(то бишь саму строку),то функция все выдает правильно
Абакус Прайм, СЭ 280 - слово + страница
А когда я пытаюсь передать параметром первый элемент списка((list_of_names[0]),хотя значения у них одинаковые ,то функция выдаёт None(то есть list_of_names[0] само по себе хранит строчку Абакус Прайм, СЭ)
Также я решил проверить на равенство эти строчки и получил False...
Можете пожалуйста помочь с решением этого вопроса :)