以下生成器有什么问题?

for file in file_list:
    fh = open(file, 'r')
    while True :
        yield fh.readline()
    fh.close()

最佳答案

问题是您永远不会脱离无限循环,因为它会永远仅从单个文件产生行。

请检查fileinput中是否存在此类问题。这样就足够了:

import fileinput
for line in fileinput.input(your_list_of_filenames):
    process(line)


当然,您必须根据自己的目的定义process函数。

关于python - 如何在Python中从多个文件创建行生成器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18823899/

10-12 03:39