我想重复两个不同的迭代器,像这样:在Python中,如何迭代一个迭代器,然后迭代另一个迭代器?
file1 = open('file1', 'r')
file2 = open('file2', 'r')
for item in one_then_another(file1, file2):
print item
哪,我期望打印文件1的所有行,然后文件2的所有行。
我想要一些通用的,因为迭代器可能不是文件,这只是一个例子。我知道我可以做到这一点:
for item in [file1]+[file2]:
但这同时读取文件到内存中,我宁愿避免。
对于未来的读者,正如Ashwini在这里所说的,在这个问题中,最好的通用答案是itertools.chain。 –
如果你正在处理文件,**'fileinput' **是唯一真正的解决方案。 – laike9m