使用shutil模块删除目录

Sar*_*h92 2 python

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

/home/dir/dir/dirtoberemoved

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

如果我做这样的事情:

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

        shutil.rmtree("/home/dir/dir/dirtoberemoved");
Run Code Online (Sandbox Code Playgroud)

或者

         shutil.rmtree("/dirtoberemoved");
Run Code Online (Sandbox Code Playgroud)

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

Mar*_*ers 6

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

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