ドメインのリストを含む2つのtxtファイルの違いを教えてくれるpythonスクリプトを書きたかったのです。
以下は、私が作成できた私のスクリプトです。
import difflib
file1 = open("2.txt").readlines()
file2 = open("diff.txt").readlines()
with open ('diff.txt', 'w', encoding = 'UTF8') as diff:
for line in difflib.unified_diff(file2,file1,n=0):
for prefix in ('---','+++','@@'):
if line.startswith(prefix):
break
if line.startswith('+'):
diff.write("New DNS Entry:\n{}\n".format(line[1:]))
elif line.startswith('-'):
diff.write("Removed DNS Entry:\n{}\n".format(line[1:]))
unified_diff
+++、 --- & @@ などのコンテキストと文字を生成するため、コードを変更してこれを省略し、コンテキストを無効にしました。
上記のコードから受け取る出力は次のとおりです。
Removed DNS Entry:
--
New DNS Entry:
++
Removed DNS Entry:
example.com
上記のように、出力には-
「削除された DNS エントリ」と+
「新しい DNS エントリ」というタイトルが付けられ、2 つの txt ファイル間の行変更の最初の反復で停止します (ただし、example.com 以外にも複数の変更があります)。 )
私が期待している出力は、で始まる行は+
グループ化され、「新しい DNS エントリ」というタイトルが付けられ、同様に、で始まる行は-
グループ化されて「削除された DNS エントリ」というタイトルが付けられることです。
最終的に、「新しい DNS エントリ」のグループに適切な DNS 解決が表示されるはずです。
ここで何か助けていただければ幸いです。