在一个语句中组合多个python脚本的结果

时间:2013-06-02 15:11:28

标签: python generator yield

我有大约4个不同的python脚本都返回一个字典列表。我想结合所有脚本的结果,然后将其打印到控制台,但如果可能的话,我想将它们组合在一行代码中。这是对我正在尝试做的不正确的尝试..(每次调用main都返回一个生成器对象)

from Parsers import ctd, test1, test2


def main():
    results = ctd.main() + ctd.test1() + ctd.test2()

    for i in results:
        print i


if __name__ == '__main__':
    main()

非常感谢任何指导!

谢谢!

1 个答案:

答案 0 :(得分:1)

使用itertools.chain将几个iterables(在您的情况下,生成器)的结果连接在一起:

for i in itertools.chain(ctd.main(), ctd.test1(), ctd.test2()):
    print i