reemplazar múltiples cadenas en un archivo

Estoy tratando de reemplazar varias cadenas en un archivo.

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

Pero solo se reemplaza mi último valor clave. ¿Cómo puedo reemplazar toda la clave, valor en el archivo? ¿Hay alguna forma mejor de reemplazar varias cadenas en un archivo?

Gracias

`

Respuestas a la pregunta(3)

Su respuesta a la pregunta