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?

War es hilfreich?

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
scroll top