Utilisation de la classe difflib.HtmlDiff - montrant de simples caractères

StackOverflow https://stackoverflow.com/questions/6329192

  •  27-10-2019
  •  | 
  •  

Question

J'utilise la classe difflib.HtmlDiff , appelant la fonction à l'aide de deux ensembles de texte (HTML à partir de sites Web), mais quand il fait la table

html_diff = difflib.HtmlDiff()
print html_diff.make_table(previous_contents, fetch_url.page_contents)

, cependant, que tout semble comparer charbon par carbonisation (1 carbonisation par ligne de la table), et je retrouve avec un fichier txt 4.3MB pour deux ensembles de HTML qui ne sont 100k.

Le fichier doc dit,

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.

mais cela ne semble pas être le cas.

Toutes les suggestions?

Était-ce utile?

La solution

Vous fournir des chaînes, pas des listes de chaînes (lignes).

En supposant extrémités de ligne UNIX ou Windows:

print html_diff.make_table(previous_contents.split('\n'),
                           fetch_url.page_contents.split('\n'))
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top