【发布时间】:2021-01-08 03:30:05
【问题描述】:
问题是获取列表中特定目录下和特定条件下的所有文件名。
我们有一个名为"test_dir"的目录。
在那里,我们有子目录"sub_dir_1", "sub_dir_2", "sub_dir_3"
在每个子目录中,我们都有一些文件。
sub_dir_1 has files ['test.txt', 'test.wav']
sub_dir_2 has files ['test_2.txt', 'test.wav']
sub_dir_2 has files ['test_3.txt', 'test_3.tsv']
我最终想得到的是“目录”['sub_dir_1/test.wav', 'sub_dir_2/test.wav'] 下存在的“test.wav”列表。如您所见,条件是获取母目录下'test.wav'的每个路径。
mother_dir_name = "directory"
get_test_wav(mother_dir_name)
returns --> ['sub_dir_1/test.wav', 'sub_dir_2/test.wav']
已编辑 我已经改变了问题的方向。
我们首先有这个文件名列表
["sub_dir_1/test.wav","sub_dir_2/test.wav","abc.csv","abc.json","sub_dir_3/test.json"]
从这个列表中我想得到一个列表,其中不包含任何包含“test.wav”的路径,如下所示
["abc.csv","abc.json","sub_dir_3/test.json"]
【问题讨论】:
-
这能回答你的问题吗? Get a filtered list of files in a directory
-
glob.glob("*/test.wav")? -
谢谢。好的,这样就行了。如果我想从列表中过滤掉 ['sub_dir_1/test.wav','sub_dir_2/test.wav','sub_dir_1/test.txt','someother.file', 'file_4.tsv'] 怎么办?到 ['sub_dir_1/test.wav','sub_dir_2/test.wav']