2013-06-02 52 views
1

我有大約4個不同的python腳本,它們都返回一個字典列表。我想結合所有腳本的結果,然後將其打印到控制檯,但如果可能的話,我想將它們合併到一行代碼中。這裏是什麼,我試圖做的..(每次調用main函數返回一個生成器對象)在一個語句中結合多個python腳本的結果

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

使用itertools.chain加入幾個iterables在一起的結果(在你的情況下,發電機):

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

那正是我所期待的。我有辦法讓它在沒有它的情況下工作,但它似乎有點笨重。這太好了! –