0

ドメインのリストを含む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 解決が表示されるはずです。

ここで何か助けていただければ幸いです。

4

0 に答える 0