Seite 1 von 1

Problem-Parameter zu Ersetzen

Verfasst: Mittwoch 2. Mai 2007, 12:19
von technoman
Ich will z.B Para_1 gegen Para_2 ersetzen, habe folgende Code geschrieben, hat es aber nicht funktioniert.
könnte jmd mir kurz helfen.

Code: Alles auswählen

from string import *
def ersetzen(filename,para_1,para_2):
    f=file(filename,"rU")
    for index, line in enumerate(f):
        if para_1 in line:
            replace(filename,para_1,para_2)
        else:
            print "Fehler beim Ersetzen"
ersetzen("einfuegen.txt","ist","IST")

Verfasst: Mittwoch 2. Mai 2007, 12:44
von BlackJack
Das `string`-Modul brauchst Du hier nicht und einen Sternchen-Import solltest Du sowieso nicht machen.

Zeichenketten können nicht verändert werden, d.h. `replace()` gibt eine *neue* Zeichenkette zurück. Dann versucht Du etwas im *Dateinamen* statt in der Zeile zu ersetzen.

Und natürlich haben Änderungen von Zeichenketten im Hauptspeicher keinen Einfluss auf das was auf der Festplatte in der Datei steht.

Du willst wahrscheinlich die Datei einlesen, dabei kannst Du auch den gesamten Inhalt auf einmal lesen, eine neue, veränderte Zeichenkette mit der `replace()`-Methode erstellen und die dann wieder in die Datei schreiben. Näher gehe ich da mal nicht drauf ein, weil's so ein bisschen nach Hausaufgabe aussieht.