🔍
Python でテキストファイルを比較して差分を Html に書き出す
環境:
> python --version
Python 3.9.5
完成形
青空文庫の『吾輩は猫である』を使用
変更のない行を非表示にすることもできます。
やっていること
-
difflib
のHtmlDiff
で Html 形式の表を生成する - テンプレートとして用意しておいた Html に
1.
で生成した内容を埋め込む - css で表示を加工する
- 文字列置換で整形することも考えたものの、比較する文字などの必要な文字は置換されないようにしなくてはならないなど検討事項が多すぎて保留中…
フォルダ構成
> ls -name
diff.py
template.html
wrap.css
使い方
全部の行を表示する
python neko_1.txt neko_2.txt out.html
変更のない行は省略する
python neko_1.txt neko_2.txt out.html --compress
第1引数に元のファイル、第2引数に変更後のファイル、第3引数に出力ファイル名を指定します。 --compress
のオプションをつけると変更のない行が省略されるようにしてみました。
コード
これで比較結果を紙に印刷して配布するようなことになっても安心!
Discussion