Verwenden der difflib.HtmlDiff-Klasse - Anzeigen einzelner Zeichen
Frage
Ich verwende die difflib.HtmlDiff
-Klasse und rufe die Funktion mit zwei aufTextsätze (HTML von Websites), jedoch wenn die Tabelle erstellt wird
html_diff = difflib.HtmlDiff()
print html_diff.make_table(previous_contents, fetch_url.page_contents)
das scheint jedoch nur char für char zu vergleichen (1 char pro Tabellenzeile), und ich erhalte eine 4,3 MB große txt-Datei für zwei Sätze von HTML, die nur 100 KB groß sind.
In der Dokumentdatei heißt es:
Compares fromlines and tolines (lists of strings) and returns a string which is a
complete HTML file containing a table showing line by line differences with
inter-line and intra-line changes highlighted.
Dies scheint jedoch nicht der Fall zu sein.
Irgendwelche Vorschläge?
Lösung
Sie liefern Zeichenfolgen, keine Listen von Zeichenfolgen (Zeilen).
Angenommen, die UNIX- oder Windows-Zeile endet:
print html_diff.make_table(previous_contents.split('\n'),
fetch_url.page_contents.split('\n'))
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow