Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
1. Du liest eine Datei, schreibst aber nirgends. Man schreibt nicht in die Datei, aus der man liest. In der Regel macht man das so, dass man aus der eine liest, in eine andere schreibt. Am Ende die alte Datei löscht und die neue an die entsprechende Stelle verschiebt, bzw. die neue Datei umbenennt.
2. elem.replace('(', '') ändert nicht elem sondern gibt eine Zeichenkette zurück, in de die Ersetzung vorgenommen wurde. Dieses Ergebnis bindest du aber nicht an einen Namen.
3. Wenn du eine Datei mit with öffnest musst du sie nicht schließen. Dafür ist with ja da.
4. Ist das nicht dein Code. Der hier wirft nämlich einen Syntax-Fehler weil die Zeichenkette um den Dateinamen nicht richtig geschlossen ist.
So ganz grundsätzlich schauen die Ersetzungen die da gemacht werden auch verdächtig nach etwas aus was man so nicht machen sollte. Also zum Beispiel Python-Grunddatentypen als Zeichenkette in eine Datei schreiben und dann auf dieser Zeichenkettenrepräsentation herumbasteln statt die ordentlich zu parsen. Oder halt gleich in dem Format speichern in dem man sie haben möchte.