交错文本文件内容的最Pythonic方式是什么?
发布时间:2020-12-20 12:28:04 所属栏目:Python 来源:网络整理
导读:Python问题: 如果我有一个文件列表,如何从每个文件打印#1行,然后 第2行等? (我是一个Python新手,显然……) 例: file1:foo1bar1file2:foo2bar2file3:foo3bar3 功能调用: names = ["file1","file2","file3"]myfct(names) 期望的输出: foo1foo2foo3bar1bar
Python问题:
如果我有一个文件列表,如何从每个文件打印#1行,然后 例: 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 P.S.:我正在使用带有__future__ import print_function的Python 2.6. 解决方法for lines in itertools.izip(*file_handlers): sys.stdout.write(''.join(lines)) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |