2012-04-08 9 views
0

ich eine Config (Text) habe Datei mit folgendem Inhalt:Suchen und Ersetzen Block in Python

hello { 
    if name == "foo" { 

     //do something 
    else { 
     // something else 
    } 
# contents 
} 


world { 
    if name == "bar" { 
     //do something 
    else { 
     // do something else 
    } 
    # comments 
} 

Ich möchte alle, wenn sonst Blöcke mit „foo“ in dieser Datei suchen. Was ist der beste Weg in Python?

+3

Die Verwendung von Konfigurationsdateien, die maßgeschneiderte Turing-Programmiersprachen sind, ist in der Regel eine schlechte Idee. Vermeiden Sie diese Route wenn möglich. Dreh dich jetzt um. –

+1

Turing komplette Config-Dateien sind irgendwie böse. Welches Format ist das? Gibt es keine Bibliothek zum Lesen oder Erstellen dieser Konfigurationen? – miku

Antwort

0

Die Kommentare, die Sie vor allzu komplexen Sprachen zur Konfiguration warnen, sind nicht falsch. Aber wenn dies etwas ist, was Sie tun müssen, ist der nächste Schritt, einen Parser zu erstellen, der Ihre Grammatik lesen und Ihnen die Token-Struktur geben kann. Vielleicht wäre etwas lügen pyparsing wäre nützlich?