【发布时间】:2023-03-17 17:35:01
【问题描述】:
我想迭代两个不同的迭代器,像这样:
file1 = open('file1', 'r')
file2 = open('file2', 'r')
for item in one_then_another(file1, file2):
print item
我希望先打印 file1 的所有行,然后打印 file2 的所有行。
我想要一些通用的东西,因为迭代器可能不是文件,这只是一个例子。我知道我可以这样做:
for item in [file1]+[file2]:
但这会将两个文件都读入内存,我希望避免这样做。
【问题讨论】:
-
对于未来的读者来说,正如 Ashwini 所说的,此问题中要求的最佳通用答案是 itertools.chain。
-
如果您正在处理文件,
fileinput是唯一真正的解决方案。