2

2 つのテキスト ファイルを比較し、違いを新しいテキスト ファイルに出力するプログラムを持っていますが、最初の違いが発生した行と列だけを出力するように変更したいと考えています。これが私がこれまでに持っているものです:

f1 = open("file1.txt", "r")
f2 = open("file2.txt", "r")

fileOne = f1.readlines()
fileTwo = f2.readlines()

f1.close()
f2.close()
outFile = open("file3.txt", "w")
x = 0

for i in fileOne:
   if i != fileTwo[x]:
      outFile.write(i+" <> "+fileTwo[x])
   x += 1
 outFile.close()

ありがとう。

4

3 に答える 3

0
with open("file1.txt", "r") as f1:
    lines1 = f1.readlines()

with open("file2.txt", "r") as f2:
    lines2 = f2.readlines()

bound = max(len(lines1), len(lines2))
for idx, line1, line2 in zip(xrange(bound), lines1, lines2):
    if line1 != line2:
        diff_line = idx
        break

bound = max(len(line1), len(line2))
for idx, c1, c2 in zip(xrange(bound), list(line1), list(line2)):
    if c1 != c2:
        diff_char = idx
        break

print "first difference is on line {0:g} and character {1:g}".format(diff_line, diff_char)
于 2013-11-04T17:18:22.363 に答える