<p>我有一堆文件名。我需要从每个文件中一次读取一行,做一些处理,然后从每个文件中再次读取一行,做一些处理等等。你知道吗</p>
<p>我正在寻找建议,如何做到这一点,在一个更Python的方式。我知道每个文件中存在的行数,所以我现在正在硬编码,但我不想这样做。你知道吗</p>
<p>更新:
所有文件的行数都相同。你知道吗</p>
<p>更新2:
至少有30个不同的文件。你知道吗</p>
<pre><code>filenames = []
line_count = 400
fileobjs = [open(i, 'r') for i in filenames]
for i in xrange(line_count):
lines = []
for each_fo in fileobjs:
for each_line in each_fo:
lines.append(each_line)
break
process(lines)
</code></pre>
<p>这个怎么样?你知道吗</p>
<pre><code>from itertools import izip_longest
for file_lines in izip_longest(*map(open,filenames)):
for line in file_lines:
if line:
# process line
</code></pre>