Применение частичного патча с помощью 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])