Ersetzen Sie den CSS-Block des Textes in der Datei Python

Ich bin bindet, um ein Python-Programm zu machen, um mir zu helfen, einfache Bearbeitungen zu einer Konfigurationsdatei zu machen. Ich möchte in der Lage sein, die Datei zu lesen, ersetzen Sie einen Abschnitt der Datei und schreiben Sie dann die Änderungen. Eines der Probleme, die ich habe, ist, dass es mehrere Zeilen gibt, die gleich sind. Beispielsweise sieht die Konfigurationsdatei wie folgt aus:

/* Panel */ #panel { background-color: black; font-weight: bold; height: 1.86em; } #panel.unlock-screen, #panel.login-screen { background-color: transparent; 

Es gibt zwei Zeilen, die Hintergrundfarbe enthalten: so kann ich nicht testen, ob die Zeile gleich einer Zeichenkette ist, denn wenn ich jede Zeile mit Hintergrundfarbe ersetzen würde, würde ich unerwünschte Änderungen bekommen. Auch ich möchte nicht auf den Index der Linie verlassen, da als Zeilen der Konfigurationsdatei hinzugefügt oder entfernt werden, wird es sich ändern. Jede Hilfe würde geschätzt!

One Solution collect form web for “Ersetzen Sie den CSS-Block des Textes in der Datei Python”

Es sieht so aus, als hättest du versucht, mit CSS-Dateien umzugehen. Um dieses Dateiformat richtig zu analysieren, brauchst du so etwas wie Cssutils :

 import cssutils # Parse the stylesheet, replace color parser = cssutils.parseFile('style.css') for rule in parser.cssRules: try: if rule.selectorText == '#panel': rule.style.backgroundColor = 'blue' # Replace background except AttributeError as e: pass # Ignore error if the rule does not have background # Write to a new file with open('style_new.css', 'wb') as f: f.write(parser.cssText) 

Aktualisieren

Ich habe eine Änderung in den Code und jetzt nur den Hintergrund ändern für #panel

  • Fügen Sie in jeder Zeile einer .txt-Datei eine bestimmte Zeichenfolge mit Python hinzu
  • Suchen von Text in einem PDF mit Python?
  • Finden Sie schnell Unterschiede zwischen zwei großen Textdateien
  • Wie identifiziert man dynamisch unbekannte Begrenzer in einer Datendatei?
  • Richten Sie Unicode-Text im Terminal-Fenster mit Standard-Monospace-Schriftart aus
  • Kann mir jemand bitte helfen, ein Programm zu schreiben, das Zeilen aus einer Textdatei liest und überprüft? [abgeschlossen]
  • Batch konvertieren .py (Textdateien) zu .pdf auf osx
  • Pygame Text nicht Rendering
  • Textuell abweichendes JSON
  • Wie erstelle ich eine Ontologie in Python?
  • Python: EOFError: EOF beim Lesen einer Zeile
  • Python ist die beste Programmiersprache der Welt.