2017-05-09 54 views
-1

我有一個目錄結構如下:在多個列表中指定解析多個子目錄

|-- Transcripts 
| |-- [Time_n] 
| | |-- [Group_n] 
| | | |-- file_1.txt 
| | | |-- ... 
| | | |-- file_n_n.txt 
| |... 
| 

要分析所有子目錄中,那裏有多個GroupsTimes每一個文件,我只想用:

import glob 

path = 'Transcripts/***/**/*.txt' 
files = glob.glob(path, recursive=True) 
for file in files: 
    print(file) 

但是,如果我只想指定某些TimesGroups,我可以從glob執行此操作,還是隻能在下面的循環中執行此操作?

實施例集合:

times = ['Time1', 'Time3'] 
groups = ['Group2', 'Group4'] 

這僅應通過這些子目錄循環:

/Transcripts/Time1/Group2/ 
/Transcripts/Time1/Group4/ 
/Transcripts/Time3/Group2/ 
/Transcripts/Time3/Group4/ 

回答

1

試試這個:

import glob 
path = './Transcripts/Time[1,3]/Group[2,4]/*.txt' 
files = glob.glob(path) 
for file in files: 
    print(file) 

輸出:

./Transcripts\Time1\Group2\file_1.txt 
./Transcripts\Time1\Group2\file_2.txt 
./Transcripts\Time1\Group4\file_1.txt 
./Transcripts\Time1\Group4\file_2.txt 
./Transcripts\Time3\Group2\file_1.txt 
./Transcripts\Time3\Group2\file_2.txt 
./Transcripts\Time3\Group4\file_1.txt 
./Transcripts\Time3\Group4\file_2.txt 
0

有意基團的列表,並旨在通過directories.While循環的concat的組號或號碼簿號碼作爲根據你的邏輯。

+0

的問題問,如果我能做到這一點的循環水平。 –

+0

您可以通過兩種方式來完成。取決於您的實施方式。 – bigbounty

+0

您能否以另一種方式展示如何去做?謝謝! –