Problem-Parameter zu 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
technoman
User
Beiträge: 1
Registriert: Mittwoch 2. Mai 2007, 12:12

Mittwoch 2. Mai 2007, 12:19

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")
BlackJack

Mittwoch 2. Mai 2007, 12:44

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