Применение частичного патча с помощью Google diff-match-patch

У меня есть home.html который часто обновляется, и каждый раз, когда мне приходится повторно применять руководство по пользовательским изменениям (например, изменить некоторые .css правила в <style> тег). Я сохранил полный <style> часть в отдельном файле: modification.txt,

Я хотел бы иметь возможность отправить эти два файла home.hmtl а также modification.txt к сценарию Python, который будет применять модификацию.

Я уверен, что Google Diff-Match-patch может это сделать, но до сих пор я смог сравнить файл, создать патч и применить патч к нему. Но патч по сути заменит home.html с modification.txt, Как я могу изменить свой сценарий так, чтобы только <style> заменяется?

import diff_match_patch as dmp_module

def readFileToText(filePath):
    file = open(filePath,"r")
    s = ''
    for line in file:
            s = s + line
    return s


dmp = dmp_module.diff_match_patch()
origin = r"C:\Users\user\Desktop\test\home.html"
lastest = r"C:\Users\user\Desktop\test\modification.txt"

originText = readFileToText(origin)
lastestText = readFileToText(lastest)

patch = dmp.patch_make(originText, lastestText)
patchText = dmp.patch_toText(patch)

finalfile = dmp.patch_apply(patch,originText)
print(finalfile)
patchFilePath  = r"C:\Users\user\Desktop\test\output1.html"
patchFile = open(patchFilePath,"w")
patchFile.write(finalfile[0])

0 ответов

Другие вопросы по тегам