Как то так? Словесно, но, похоже, это то, что вы просите.
Его можно настроить так, чтобы он выполнял такие вещи, как правильное слияние для сопоставления ключей между двумя файлами, что часто является более необходимым, чем упрощенная функция zip. Кроме того, это не усекает, что делает алгоритм SQL OUTER JOIN, опять же, отличается от того, что делает zip и более типично для файлов.
with open("file1","r") as file1:
with open( "file2", "r" as file2:
for line1, line2 in parallel( file1, file2 ):
process lines
def parallel( file1, file2 ):
if1_more, if2_more = True, True
while if1_more or if2_more:
line1, line2 = None, None # Assume simplistic zip-style matching
# If you're going to compare keys, then you'd do that before
# deciding what to read.
if if1_more:
try:
line1= file1.next()
except StopIteration:
if1_more= False
if if2_more:
try:
line2= file2.next()
except StopIteration:
if2_more= False
yield line1, line2