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?

Foi útil?

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