Sarah92
Sarah92

Reputation: 671

Removing a directory using shutil module

I'm trying to remove a directory using python but I do not want to recursively remove the whole directory path in the process: i.e

/home/dir/dir/dirtoberemoved

So I don't want to remove anything at a higher level just the one directory and all its contents. I've been looking on stackoverflow to research this question and most answers have included using the shutil module which I am unfamiliar with, looking at the python documentation for the module it says 'Delete an entire directory tree'

If I do something like this:

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

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

or

         shutil.rmtree("/dirtoberemoved");

Will the entire path be removed? If so is there any good way just to delete one non-empty directory in python without deleting higher level directories?

Upvotes: 2

Views: 1195

Answers (1)

Martijn Pieters
Martijn Pieters

Reputation: 1123970

You need to specify the whole path to the directory to be removed. Only the last part of the path will be deleted, the /home/dir/dir/ part will be untouched.

The deletion refers to any sub-directories contained within the named path, so if there is a /home/dir/dir/dirtoberemoved/foo sub-directory it'll be removed together with it's parent.

Upvotes: 6

Related Questions