I have a project using pathlib
and I want to do the equivalent of shutil.rmtree
.
I thought of doing it with something like:
def pathlib_rmtree(folder):
if folder.exists():
for file in folder.glob('**/*'):
if file.is_dir():
file.rmdir()
else:
file.unlink()
folder.rmdir()
but I am not sure whether the folder.glob('**/*')
is guaranteed to be ordered so that all the subfolders are empty before calling rmdir
.
So the question is twofold:
- Is there a better way to recursively delete a directory with
pathlib
? - Does
glob
guarantees the order of its result so that all the files are returned before the subfolder they belong to?