我有一个python程序,它将文本文件(或者更确切地说是File对象)作为输入。我有多个大文本文件,我想像一个连接文件一样对待,使用输入。不幸的是,由于篇幅限制,我很难明确地创建连接文件,因此我正在寻找一种优雅的方法来欺骗'该程序认为它毕竟只是一个文件。也就是说,当迭代完一个文件中的所有行时,我希望它从下一个文件开始,依此类推。建议?
答案 0 :(得分:6)
fileinput
模块执行此操作,docs。
如果您的文件名全部在命令行中给出,那么它就像:
import fileinput
for line in fileinput.input():
process(line)
否则,只需将列表中的文件名作为input
的第一个参数。
答案 1 :(得分:1)
from itertools import chain
with open('foo') as foo, open('bar') as bar:
for line in chain(foo, bar):
print line,