やりたいこと
- big.txt にのみ存在する行を抽出したい。
- ddd、eee を抽出したい。
- small.txt にのみ存在する行は対象外
- bbb は small.txt にのみ存在するが、いらない。
aaa ccc ddd eee
aaa bbb ccc
Python 3 コード
- readlines()
入力ストリームから全ての行を読み込み、行のリストとして返します。 - difference(other, …)
set に含まれて、かつ、全ての other に含まれない要素を持つ、新しい集合を返します。
def make_lines_set(txt): f = open(txt) lines = f.readlines() sets = set(lines) f.close() return sets bigs = make_lines_set('big.txt') smalls = make_lines_set('small.txt') results = bigs.difference(smalls) for result in results: print(result)
実行結果
>>> ========= RESTART: C:¥Work¥difference.py ========= eee ddd >>>
おわりに
初めての Python でしたので、コードはもちろんエディタの使い方や実行の仕方といったところもわかりませんでしたの><。
参考ページです。とても役に立ちました!ありがとう存じます!
- で検索
以上です。
「【Python 3】ファイルを比較して指定したファイルにのみ存在する行を抽出するお気楽コード」への2件の返信
[…] 【Python 3】ファイルを比較して指定したファイルにのみ存在する行を抽出するお気楽コード – oki2a24 […]
[…] 【Python 3】ファイルを比較して指定したファイルにのみ存在する … […]