コンテキスト行のみを表示する行番号で統一された差分を作成する方法を見つけようとしていN
ます。でこれを行うことができませんでしたdifflib.unified_diff
。両方のファイルの変更を表示する必要があります。
私ができる最も近いdiff
のは、コマンドラインで次のように使用することです。
/usr/bin/diff
--unchanged-line-format=' %.2dn %L'
--old-line-format="-%.2dn %L"
--new-line-format="+%.2dn %L"
file1.py
file2.py
N
しかし、コンテキストの行のみを表示したいのです/usr/bin/diff
が、カスタム行形式のコンテキストをサポートしていないようです (たとえば、-U2 は --line-format " " と互換性がありません)conflicting output style options
。
以下は、私が達成したいことの例です(上記の差分と同じ出力ですが、変更を取り巻くコンテキストの1行のみを表示しています):
+01: def renamed_function()
-01: def original_function():
02:
+03: """ Neat stuff here """
04:
21:
+22: # Here's a new comment
23:
85: # Output the value of foo()
+86: print "Foo is %s"%(foo())
-86: print foo()
87: