【发布时间】:2015-09-02 07:30:40
【问题描述】:
目前我正在开发将执行特定目录清理的脚本。
例如: 目录:/app/test/log 包含许多具有名称模式 testYYYYMMDD 和 logYYYYMMDD 的子目录
我需要的是只过滤掉像 testYYYYMMDD 这样的目录
要获取给定目录中具有绝对路径的所有文件夹,我使用:
folders_in_given_folder = [name for name in os.listdir(Directory) if os.path.isdir(os.path.join(Directory, name))]
folder_list = []
for folder in folders_in_given_folder:
folder_list.append([os.path.join(Directory, folder)])
print(folder_list)
给出输出:
[['/app/test/log/test20150615'], ['/app/test/log/test20150616'], ['/app/test/log/b'], ['/app/test/log/a'], ['/app/test/log/New folder'], ['/app/test/log/rem'], ['/app/test/log/test']]
所以现在我需要过滤掉符合模式的子目录, 模式可以是:*test*, test*, test2015*
我尝试过使用 glob.glob(),但这似乎只适用于文件而不是目录。
有人可以这么好心地解释一下我如何才能达到预期的结果吗?
【问题讨论】:
标签: python regex python-3.x directory filtering