izip()
просто объединяет две итерируемые пары. Это не вводит дополнительный счетчик, как вы, вероятно, ожидаете. Попробуйте использовать enumerate()
for i, (line1, line2) in enumerate(izip(f1, f2)):
...
, чтобы также получить этот счетчик.
Сообщение об ошибке появляется в результате попытки присвоить первому элементу вашей итерации значение i, line1, line2
. Поскольку первый элемент представляет собой пару строк, скажем, s1
и s2
, это назначение будет по существу эквивалентно
i, line1, line2 = s1, s2
, для которого явно требуется более двух значений для распаковки. (Точнее, потребуется три.)