Я хочу написать python скрипт, который ищет слово в файле .docx и выделяет или изменяет цвет шрифта над словом. (Я новичок в этом языке, и это проект, который я выбрал, чтобы выучить его, поэтому извините, если ответы на любые мои вопросы будут очевидны)
Я нашел аналогичный вопрос и скопировал код как основу
import docx
from docx.enum.text import WD_COLOR_INDEX
dstPath = './my/file/path'
keyword = 'someWord'
document = docx.Document(dstPath)
def wordSearch(document, keyword, dstPath):
for p in document.paragraphs:
if keyword in p.text:
for run in p.runs:
if keyword in run.text:
temp = run.text.split(keyword)
run.clear()
for i in range(len(temp) - 1):
run.add_text(temp[i])
run.add_text(keyword)
run.font.highlight_color = WD_COLOR_INDEX.YELLOW
document.save(dstPath)
Он точно не выполняет то, что я хочу (он выделяет весь цикл, а не просто слово), и я думаю, что я смогу это исправить, возможно, сделав каждый из строки ins temp
их собственный запуск и затем добавление ключевого слова между ними или что-то в этом роде. Но я надеялся, что будет лучшее решение, чем разделение строки по ключевому слову, поскольку это может вызвать проблемы, когда строка начинается или заканчивается словом, и я не знаю, существует ли элегантный способ решения этой проблемы.
Также я думаю, что в настоящее время мой поиск чувствителен к регистру, есть ли простой способ изменить это?