Usando a classe difflib.HtmlDiff - mostrando caracteres individuais
Pergunta
Eu estou usando a classe difflib.HtmlDiff
, chamar a função usando dois conjuntos de texto (HTML de sites), no entanto, quando se faz a tabela
html_diff = difflib.HtmlDiff()
print html_diff.make_table(previous_contents, fetch_url.page_contents)
no entanto, que apenas parece comparar caractere por caractere (1 caractere por linha de tabela), e eu acabar com um arquivo de 4.3MB txt para dois conjuntos de html que só são 100k.
O arquivo doc diz:
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.
no entanto, que não parece ser o caso.
Todas as sugestões?
Solução
Você está fornecendo cordas, nem listas de cordas (linhas).
Assumindo extremidades de linha UNIX ou Windows:
print html_diff.make_table(previous_contents.split('\n'),
fetch_url.page_contents.split('\n'))
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow