我的目录结构如下:
|-- Transcripts
| |-- [Time_n]
| | |-- [Group_n]
| | | |-- file_1.txt
| | | |-- ...
| | | |-- file_n_n.txt
| |...
|
要解析所有子目录中的每个文件,其中有多个Times
多个Groups
,我只会使用:
import glob
path = 'Transcripts/***/**/*.txt'
files = glob.glob(path, recursive=True)
for file in files:
print(file)
但是,如果我只想指定某些Times
和Groups
,我可以从glob
执行此操作,还是只能在下面的循环中执行此操作?
示例集合:
times = ['Time1', 'Time3']
groups = ['Group2', 'Group4']
这应该只遍历这些子目录:
/Transcripts/Time1/Group2/
/Transcripts/Time1/Group4/
/Transcripts/Time3/Group2/
/Transcripts/Time3/Group4/
答案 0 :(得分: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
答案 1 :(得分:0)
列出目标组和目标目录。然后根据您的逻辑循环连接组号或目录号。