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

  • Unterschiede zwischen Eingabebefehlen in Python 2.x und 3.x
  • Ocr'ing Anwendungstext (nicht gescannt, NICHT captchas)
  • Einfügen der Zeile an der festgelegten Position einer Textdatei
  • Wie verwende ich eine bestimmte Zeile einer Textdatei in Python?
  • Verarbeiten von großen Dateien in Python [1000 GB oder mehr]
  • Textuell abweichendes JSON
  • Python-Nachlaufkomma nach dem Drucken führt die nächste Anweisung aus
  • Hinzufügen von erweiterten Funktionen zu einem tkinter Text-Widget [geschlossen]
  • Entfernen Sie bestimmte Zeilen aus einer großen Textdatei in Python
  • Python ersetzen Sie den Textabschnitt, indem Sie nur den Anfang und das letzte Wort kennen
  • Wie man Text aus der HTML-Seite extrahiert?
  • Python ist die beste Programmiersprache der Welt.