【发布时间】:2013-11-26 19:33:37
【问题描述】:
我正在尝试对特定文件夹下的特定文件和文件夹自动执行搜索和删除操作。以下是我拥有的文件夹结构:
主目录是 MasterFolder,其中包括多个子目录,即子文件夹 Fol1、Fol2、Fol3、Fol4,子目录可能因文件夹而异。
子文件夹有更多的文件和子文件夹。 ExL Fol1 包含 someFilesFolder、sometext.txt、AnotherFilesFolder,同样适用于 MasterFolder 下的其他 Fol2、Fol3 等子目录。
现在我想做的是我想扫描 MasterFolder 并遍历每个 ChildFolder 并在每个子文件夹下查找 1 个名为 someText.txt 的文件和 1 个名为 someFilesFolder 的文件夹并将其删除。理想情况下,我要删除的文件夹名称和文件名在每个 ChildFolder 下都是相同的,因此查找应该只发生在 MasterFolder 的下一层。我检查了多篇文章,但所有内容都指定使用 shutil.rmtree 在一个文件夹下删除特定文件或目录,但我正在寻找可以递归查找和删除的东西,我相信。
【问题讨论】:
-
附带说明,您是否有理由必须在 Python 中执行此操作而不仅仅是使用 shell?例如,
rm -rfv /path/to/MasterFolder/*/someText.txt /path/to/MasterFolder/*/someFilesFolder将在任何类似 POSIX 的 shell(sh 样式或 csh 样式)中执行您想要的操作,而且我很确定在使用 cmd 或 Powershell 的 Windows 中它不会明显更难。
标签: python find delete-file