问题是要获取列表中位于特定目录和特定条件下的所有文件名。
我们有一个名为的目录"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']
我想在一天结束时得到的是存在于“目录”下的“ test.wav”的列表['sub_dir_1/test.wav', 'sub_dir_2/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"]
您可以为此使用glob模式。使用pathlib
,
from pathlib import Path
mother_dir = Path("directory")
list(mother_dir.glob("sub_dir_*/*.wav"))
注意,我对于要检查的子目录非常明确-任何以“ sub_dir_”开头的内容。您可以根据需要更改该模式以适合您的环境。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句