Zeichen in tct suchen und ersetzen

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.
Antworten
sbfly
User
Beiträge: 32
Registriert: Montag 17. Oktober 2011, 14:57

Hallo ich möchte bei einer Textdatei mehrere Zeichen suchen und ersetzen

Hierzu dachte ich mir ich verwende folgenden Code

Code: Alles auswählen

        with open(outFileName.txt','rw') as fin:
            for elem in fin:
                elem.replace('(', '')
                elem.replace('[', '')
                elem.replace('])', '')
            fin.close
Leider hat dieser keinen Einfluss auf die Datei was mache ich Falsch?

Viele Grüße und Danke

Sbfly
Benutzeravatar
sparrow
User
Beiträge: 4195
Registriert: Freitag 17. April 2009, 10:28

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.
Benutzeravatar
/me
User
Beiträge: 3556
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

sparrow hat geschrieben:3. Wenn du eine Datei mit with öffnest musst du sie nicht schließen. Dafür ist with ja da.
Das ist auch in diesem Fall gut, da das close überhaupt nicht aufgerufen sondern nur referenziert wird. Für einen Aufruf fehlen die Klammern.
BlackJack

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.
Antworten