matue
открывай оба файла на чтение, читаешь их строки, затем делаешь цикл по строкам 2го файла
все не так однозначно. вообщем то основа правильная но надо еще кучу проверок организовать так как слово
Файл из первого и слово
файл из второго списка при сравнении будет давать false и замена не произойдет. поэтому слова сравнивать нужно в одном регистре и проверять начинается ли слово из первого списка с заглавной буквы и соответственно менять аналогично. так же проверка строки
файловый на вхождение подстроки
файл даст истину и результат будет
файловый поэтому еще сравнивать длину но опять же
файл. и
файл даст false поэтому длина первой строки может быть больше длины второй строки на 1 при этом последний символ первой строки не должен быть буквой (символы запятая точка двоеточие и т.д)
def font(x, list_2):
x = x.split()
for i, word in enumerate(x):
for j in list_2:
if j in word.lower() and len(j) == len(word) or len(j) == len(word)-1 and word[-1].isalpha() == False:
zamen = '<b>'+word+'</b>'
if x[i].istitle() == True:
zamen = zamen.capitalize()
x[i] = zamen
return ' '.join(x)
with open('1.txt') as file_1, open('2.txt') as file_2, open('index.html','w') as file_3:
list_1 = file_1.read().splitlines()
list_2 = file_2.read().splitlines()
for i in [font(x, list_2) for x in (list_1)]:
file_3.write(i)