Last but not least, I tend more towards the "rmtree" method just
to make it crystal clear to everyone. Maybe docs could cross-refer
both methods. Tree manipulations are inherently complicated and a
lot can go wrong. Symmetry is not 100% given as you might delete
more than what you've created (which was a single node path).
We already have tree removal functionality that this can use internally.
I am not much concerned about the internals; shutil.rmtree should work
fine here.
I am more concerned with the external interface (see also
root/base/stem) and its impression on developers.
As for the name, one thing to consider is that making a recursive tree
uses an argument.
And I think the argument would need to be keyword-only to avoid
accidentally invoking it.
Why not adding a new method?
I am still not convinced from a safety perspective that adding a new
meaning-changing argument to a removal function is such a good idea.
Just consider the following example.
When deleting /my/soon/to/be/deleted/dir, you DO NOT delete a simple
directory as the method name "rmdir" would suggest:
- /my/soon/to/be/deleted/dir
instead you delete something like this:
- /my/soon/to/be/deleted/dir/d1/f1
- /my/soon/to/be/deleted/dir/d1/d3/f1
- /my/soon/to/be/deleted/dir/d1/d3/f2
- /my/soon/to/be/deleted/dir/d1/d3
- /my/soon/to/be/deleted/dir/d1/f2
- /my/soon/to/be/deleted/dir/d1/f3
- /my/soon/to/be/deleted/dir/d1
- /my/soon/to/be/deleted/dir/d2/f1
- /my/soon/to/be/deleted/dir/d2/f2
- /my/soon/to/be/deleted/dir/d2
- /my/soon/to/be/deleted/dir
That is a completely different beast (a complete tree) and there is no
way back once deleted.
And there are a couple of other reasons when I look as the interface of
shutil.rmtree and what "recursively" really means for pathlib.
Best
Sven
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/python-ideas@python.org/message/IWI6ES76CVZ3XEQMTP6PS2JKJWPCJVO3/
Code of Conduct: http://python.org/psf/codeofconduct/