заменить несколько строк в файле

Я пытаюсь заменить несколько строк в файле.

fp1 = open(final,"w")
data = open(initial).read()
for key, value in mydict.items():
    fp1.write(re.sub(key,value, data)
fp1.close()

Но заменяется только мое последнее значение ключа. как я могу заменить все ключи, значения в файле. Есть ли лучшие способы замены нескольких строк в файле.

Спасибо

`