2

我正在尝试使用 python 删除目录,但我不想在此过程中递归删除整个目录路径:即

/home/dir/dir/dirtoberemoved

所以我不想只删除一个目录及其所有内容。我一直在寻找 stackoverflow 来研究这个问题,大多数答案都包括使用我不熟悉的 shutil 模块,查看它说“删除整个目录树”的模块的 python 文档

如果我做这样的事情:

    if os.path.exists("/home/dir/dir/dirtoberemoved");

        shutil.rmtree("/home/dir/dir/dirtoberemoved");

或者

         shutil.rmtree("/dirtoberemoved");

整个路径会被删除吗?如果是这样,有什么好方法可以在 python 中删除一个非空目录而不删除更高级别的目录?

4

1 回答 1

4

您需要指定要删除的目录的完整路径。只有路径的最后一部分将被删除,该/home/dir/dir/部分将保持不变。

删除是指包含在命名路径中的任何子目录,因此如果有/home/dir/dir/dirtoberemoved/foo子目录,它将与它的父目录一起被删除。

于 2012-09-03T14:40:56.437 回答