2013-02-20 30 views
2

我注意到os.walk API如下所述:http://docs.python.org/2/library/os.html 是這樣的:爲多個根目錄調用os.walk?

for root, dirs, files in os.walk('C:\\Users\\Me\\Videos') 

反正我有多個direcories傳遞給該API在相同的調用?

+0

,並將其結果是什麼呢? – 2013-02-20 21:41:19

+2

'爲root,dirs,itertools.chain中的文件(os.walk('/ first/path'),os.walk('/ second/path')):...' – millimoose 2013-02-20 21:42:04

回答

2

一句話,沒有。但是請參閱itertools.chain()做你想做的事,而不是你所要求的。

3

難道你不能只使用兩個for循環?

for x in ("c:\\root1", "c:\\root2", "c:\\root3"): 
    for root, dirs, files in os.walk(x): 
     pass 

還是一個混亂的一行與itertools.chain()

for root, dirs, files in itertools.chain(*[os.walk(x) for x in ("c:\\root1", "c:\\root2", "c:\\root3")]): 
    pass 
+0

喜歡這個主意,但它給出了。 .. ValueError:太多的值解壓縮(預計3) – 2013-02-20 22:08:02

+0

@MoreThanFive第一個解決方案應該工作得很好,現在也修復了一行。 – 2013-02-23 12:44:27