Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 21, 2017 16:57:14

Varik
Зарегистрирован: 2017-02-21
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Difflib не форматируется HtmlDiff

Здравствуйте, решил с помощью python difflib сделать сравнение файлов, вот код:

 # -*- coding: utf-8 -*-;
import difflib;
import codecs;
book1 = u"""ававававав""";
book2 = u"""ававававав""";
differ = difflib.HtmlDiff();
fin = differ.make_file(book1, book2, fromdesc="123"', todesc="234");
with codecs.open('123.htm', 'w',encoding='utf8') as f: f.write(fin);
f.close();
exit();

Всё работает, но в таблице сравнения каждый символ получается в новой строке. Выходит что-то вроде:
1| а 1| a
2| в 2| в
3| а 3| a
4| в 4| в
… и тд.

а требуется такой вид:
1| ававававав 1| ававававав

Пробовал добавлять differ.__init__(tabsize=8, wrapcolumn=None) или вызывать так differ = difflib.HtmlDiff(wrapcolumn=20);
В мануале написано, что wrapcolumn в HtmlDiff() отвечает за разрыв строки, но никакие варианты (wrapcolumn=None, wrapcolumn=20, wrapcolumn=100 и тд.) не работают.
Помогите решить проблему. Возможно я упускаю какие-то ещё настройки.

Офлайн

#2 Фев. 21, 2017 17:03:52

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Difflib не форматируется HtmlDiff

Офлайн

#3 Фев. 21, 2017 17:46:23

Varik
Зарегистрирован: 2017-02-21
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Difflib не форматируется HtmlDiff

FishHook
https://docs.python.org/2/library/difflib.html#differ-example
Спасибо, не хватало .splitlines(1) (book1 = u“”“ававававав”“”.splitlines(1)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version