How do I remove/delete a folder that is not empty?

rm cannot remove directory not empty
remove directory cmd
delete non empty directory linux
rm cannot remove directory not empty mac
rm -rf not working directory not empty
find cannot delete directory not empty
linux remove directory recursively without prompt
remove all files in a directory linux

I am getting an 'access is denied' error when I attempt to delete a folder that is not empty. I used the following command in my attempt: os.remove("/folder_name").

What is the most effective way of removing/deleting a folder/directory that is not empty?

import shutil


Standard Library Reference: shutil.rmtree.

By design, rmtree fails on folder trees containing read-only files. If you want the folder to be deleted regardless of whether it contains read-only files, then use

shutil.rmtree('/folder_name', ignore_errors=True)

command line, Yes, you can use any one of the following command to delete all the files in the directory and remove the directory itself including all files on Linux  Automatically Clean Out and Remove Empty Files and Folders Lori Kaufman @howtogeek August 22, 2012, 2:00pm EDT After cleaning out files on your hard drive, you may be left with a bunch of empty folders you want to delete.

From the python docs on os.walk():

# Delete everything reachable from the directory named in 'top',
# assuming there are no symbolic links.
# CAUTION:  This is dangerous!  For example, if top == '/', it
# could delete all your disk files.
import os
for root, dirs, files in os.walk(top, topdown=False):
    for name in files:
        os.remove(os.path.join(root, name))
    for name in dirs:
        os.rmdir(os.path.join(root, name))

How do I remove a full directory in Linux?, import shutil shutil.rmtree('/folder_name'). Standard Library Reference: shutil.​rmtree. By design, rmtree fails on folder trees containing read-only files. If you want  Procedure to remove non empty directory in Linux. The syntax is: Be careful when you use the rm command with -r and -f options. The -r option remove directories and their contents recursively including all files. The -f option to rm command ignore nonexistent files and arguments, never prompt for anything.

import shutil
shutil.rmtree(dest, ignore_errors=True)

Delete a non-empty directory when you get directory not empty error , One of the common issues I've encountered is one that involves folders not deleting properly. When this issue occurs, an error message appears that says “​Cannot  How to delete a non empty folder. The simple rmdir does not work for folders having some content. C:>rmdir nonemptydir The directory is not empty. Use /s option to delete the folder contents along with the folder. This deletes all subfolders recursively.

from python 3.4 you may use :

import pathlib

def delete_folder(pth) :
    for sub in pth.iterdir() :
        if sub.is_dir() :
        else :
    pth.rmdir() # if you just want to delete dir content, remove this line

where pth is a pathlib.Path instance. Nice, but may not be the fastest.

How do I remove/delete a folder that is not empty?, For removing/deleting any folder that is not empty with Python we have a standard library which is known as shutil. This library provides the  To remove a directory that contains other files or directories, use the following command. rm -r mydir. In the example above, you would replace "mydir" with the name of the directory you want to delete. For example, if the directory was named files, you would type rm -r files at the prompt.


This example shows how to remove a directory tree on Windows where some of the files have their read-only bit set. It uses the onerror callback to clear the readonly bit and reattempt the remove. Any subsequent failure will propagate.

import os, stat
import shutil

def remove_readonly(func, path, _):
    "Clear the readonly bit and reattempt the removal"
    os.chmod(path, stat.S_IWRITE)

shutil.rmtree(directory, onerror=remove_readonly)

Error “Cannot Delete folder: The directory is not empty” Fix , The error message "Cannot delete folder, directory is not empty" can be faced on any Windows based computer (Windows 10, 8, 7, Vista or XP) if you try to  I understand the concept, but when one is well aware about the fact that (s)he want to delete the folder entirely, then what's the point of crawling the entire file tree ? shutil.rmdir specifically call os.listdir(), os.path.islink() etc etc.. some checks which are not really always needed, as all needed is to unlink the file system node.

How do I remove/delete a folder that is not empty with Python , The error message "Cannot delete folder, directory is not empty" can be faced on any Windows Duration: 3:43 Posted: Feb 20, 2019

Cannot Remove Folder, Directory is not empty. (SOLVED) • Repair , Unlike rmdir the rm command can delete both empty and non-empty directories. By default, when used without any option rm does not remove 

How to Fix Directory Is Not Empty When Deleting a Folder,

  • Also note that even if the directory was empty, os.remove would fail again, because the correct function is os.rmdir .
  • And for specific rm -rf behavior see:…
  • Note that rmtree will fail if there are read-only files:…
  • This doesn't work for me: Traceback (most recent call last): File "", line 31, in <module> shutil.rmtree(thistestdir) File "/usr/lib/python2.6/", line 225, in rmtree onerror(os.rmdir, path, sys.exc_info()) File "/usr/lib/python2.6/", line 223, in rmtree os.rmdir(path) OSError: [Errno 90] Directory not empty: '/path/to/rmtree'
  • Clayton: in all likelihood, a file was added concurrently while rmtree was busy deleting stuff, "rm -rf" would fail the same.
  • Anyone know why this functionality is not in the os package? Seems like os.rmdir is quite useless. Any good arguments for why it's implemented this way?
  • @Malcolm The package is a wrapper for OS functions. On POSIX systems rmdir shall fail if the directory is not empty. Ubuntu and Windows are popular examples of POSIX-compliance in this respect.
  • Well, maybe I'm wrong of downmodding. But I can, right now I think it's right.
  • @ddaa: While using shutil is definitely the easiest way, there's certainly nothing unpythonic about this solution. I wouldn't have upvoted this answer, but I have this time only to cancel out your downvote :)
  • The code itself is pythonic. Using it instead of shutil.rmtree in a real program would be unpythonic: that would be ignoring the "one obvious way of doing it". Anyway, this is semantics, removing the downmod.
  • @ddaa Is it unpythonic to want to log every file or dir that is deleted? I am not sure how to do that with shutil.rmtree?
  • @ddaa It was food for thought i.e. rhetoric. I know what I'm doing. I just thought you might like to reconsider "the obvious way of doing it" by providing a reason why shutil.rmtree may not be the right "fit".
  • This is the correct answer. In my system, even though I set everything in the particular folder to write-read, I get an error when I try to delete. ignore_errors=True solves the problem.