Cuál es la forma más pitónica de intercalar contenidos de archivos de texto?

Python pregunta:

Si tengo una lista de archivos, ¿cómo imprimo la línea # 1 de cada archivo, luego la línea # 2, etc.? (Soy un novato de Python, obviamente ...)

Ejemplo

file1:
foo1
bar1

file2:
foo2
bar2

file3:
foo3
bar3

Llamada de función

names = ["file1", "file2", "file3"]
myfct(names)

Salida deseada

foo1
foo2
foo3

bar1
bar2
bar3

Así es como lo hice, pero estoy seguro de que hay una manera más elegante y pitónica:

def myfct(files):
    file_handlers = []
    for myfile in files:
        file_handlers.append(open(myfile))
    while True:
        done = False
        for handler in file_handlers:
            line = handler.readline()
            eof = len(line) == 0 # wrong
            if (eof):
                done = True
                break
            print(line, end = "")
        print()
        if done == True:
            break

P.S .: Estoy usando Python 2.6 confrom __future__ import print_function.

Respuestas a la pregunta(6)

Su respuesta a la pregunta