pythonで2つのファイルの相違点を比較する方法

Pythonでは、次の方法を使用して2つのファイルの差分を比較できます。

  1. 逐次的に比較する。2つのファイルの各行を読み取り、逐行で比較する。もし異なる行があれば、記録する。
with open("file1.txt", "r") as file1, open("file2.txt", "r") as file2:
    lines1 = file1.readlines()
    lines2 = file2.readlines()

    diff_lines = []
    for i in range(len(lines1)):
        if lines1[i] != lines2[i]:
            diff_lines.append(i+1)

print(diff_lines)
  1. 文字単位で比較:2つのファイルを文字単位で比較します。文字が異なる場合は、記録します。
with open("file1.txt", "r") as file1, open("file2.txt", "r") as file2:
    content1 = file1.read()
    content2 = file2.read()

    diff_chars = []
    for i in range(len(content1)):
        if content1[i] != content2[i]:
            diff_chars.append(i)

print(diff_chars)

そうすることで、異なる行や文字位置、異なる2つのファイルの差分が得られます。上記の方法は、2つのファイルの行数または文字数が同じものとして想定していることに注意してください。そうでない場合は、追加処理が必要になります。

bannerAds