Какой самый Pythonic способ чередовать содержимое текстового файла?
Вопрос Python:
Если у меня есть список файлов, как мне распечатать строку № 1 из каждого файла, затем строку № 2 и т. Д.? (Я новичок в Python, очевидно ...)
Пример:
file1:
foo1
bar1
file2:
foo2
bar2
file3:
foo3
bar3
Вызов функции:
names = ["file1", "file2", "file3"]
myfct(names)
Желаемый вывод:
foo1
foo2
foo3
bar1
bar2
bar3
Вот как я это сделал, но я уверен, что есть более элегантный, Pythonic способ:
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
П.С .: Я использую Python 2.6 сfrom __future__ import print_function
.