substituir várias strings em um arquivo

Estou tentando substituir várias seqüências de caracteres em um arquivo.

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

Mas apenas meu último valor-chave é substituído. como posso substituir toda a chave, valor no arquivo Existe alguma maneira melhor de substituir várias seqüências de caracteres em um arquivo.

obrigado

`

questionAnswers(3)

yourAnswerToTheQuestion