スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Python difflibメモ

■Python 差異を抽出
4.4 difflib -- 差異の計算を助ける
http://www.python.jp/doc/2.5/lib/module-difflib.html

使う前に上記のリンク先にある↓を分かった上でじゃないと出力結果が訳分からなくなる。

コード

意味
'- '

'- ' 列は文字列1にのみ存在する

'+ '

'+ ' 列は文字列2にのみ存在する

' ' 列は両方の文字列で同一
'? ' 列は入力文字列のどちらにも存在しない

とりあえず差異が発生している行を抽出したかった。

import difflib

f1 = file('C:\\test\\0.txt').readlines()
f2 = file('C:\\test\\1.txt').readlines()
for i in difflib.unified_diff(f1,f2):
    if(i[0] == "+"):
        print i



差異が発生している行に + を付与して出力してくれるから (- も同様)
文字列の操作で先頭文字だけを取得して、条件分岐。




===追記====
以下のような形で使用した。
これで十分。




import difflib

f1 = file('C:\file1.txt').readlines()
f2 = file('C:\file2.txt').readlines()

linebox = []


for i in difflib.unified_diff(f1,f2):
    if(i[0] == "+"):
        linebox.append(i)

newfilepass = open('C:\memo\\diff_output.txt','w')
for writeline in linebox:
    newfilepass.write(writeline)

newfilepass.close()



---
入門用のが増えてんね。
関連記事
スポンサーサイト

この記事へのコメント

トラックバック

URL :

■スポンサードリンク
■プロフィール

ベタログ

管理人 : ベタログ (Twitterアカウント

思い立ったら、ジャンルを気にせず記事にする。それが自由というものだ。
そんな管理方針。
主に取り扱ってる事:オンラインゲーム(SDGO/Travian/ロードオブナイツ)、プログラミングメモ、ネット小説/書籍の感想/観葉植物など。

■まとめ記事
■カテゴリ
■最新記事
■PICKUP

個人的に押しているモノ


魚里高校ダンジョン部! 藻女神様と行く迷宮甲子園
魚里高校ダンジョン部! 藻女神様と行く迷宮甲子園
■感想記事
これぞ青春エンタメ小説。熱いですよ!

オーバーロード1 不死者の王
オーバーロード1 不死者の王
■感想記事
最強軍団が異世界を蹂躙するファンタジー。Web版も読めますが、凄まじい加筆がされているため、Web版読者も楽しめます。
■お勧め品
■最新コメント
■月別アーカイブ
検索フォーム
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。