У меня есть эта программа, которая просто берет два файла и сравнивает их по строкам. Он отлично работает, если оба файла имеют одинаковое количество строк. Моя проблема была бы в том, что, если, например, file2 имеет больше строк, чем file1? Или наоборот. Когда это происходит, я получаю индекс IndexError: list вне диапазона. Что я могу сделать, чтобы учесть это?Сравнение двух файлов по строкам
#Compares two files
def compare(baseline, newestFile):
baselineHolder = open(baseline)
newestFileHolder = open(newestFile)
lines1 = baselineHolder.readlines()
a = returnName(baseline)
b = returnName(newestFile)
for i,lines2 in enumerate(newestFileHolder):
if lines2 != lines1[i]:
add1 = i + 1
print ("line ", add1, " in newestFile is different \n")
print("TAKE A LOOK HERE----------------------TAKE A LOOK HERE")
print (lines2)
else:
addRow = 1 + i
print ("line " + str(addRow) + " is identical")
Тогда вы можете сравнивать только столько строк, сколько имеет меньший файл. –
Вам нужно использовать 'python'? У Linux есть инструмент под названием 'diff' (возможно, также доступен в Win), который делает именно это. –