On Mon, Mar 12, 2018 at 09:57:32PM +0100, George Fischhof wrote:
> Right now we have several modules that contain functions related
> to file-system operations mainly the os, pathlib and shutil.
> For beginners it is quite hard to remember where can he / she find
> a function (copy resides in shutil, but the remove function can be
> found in the os module. (And sometimes developers with moderate
> experience have to check the documentation as well.)
This is certainly a problem. Not a big problem, but it is an annoyance.
> With functions in pathlib the developers should not have to think
> on which method (function) can be found in which module.
>
> Makes the life easier.
I don't know that this will be true. It makes one problem better: you no
longer have to remember which module the function is in. But it makes
other things worse:
- code and/or API duplication: for backwards compatibility, every
existing function must be in two places, the original and in
pathlib;
- if new file functions are added, they will go only in pathlib,
which makes pathlib effectively mandatory;
- the pathlib API becomes even more complicated: not only have you
got all the methods of pathlib objects, but you have all the shutil
and os functions as well.
I think this is a good place for an experiment. You could write a
function which monkey-patches pathlib:
from pathlib import Path
import os
import shutil
def monkeypatch():
Path.remove = os.remove
# etc.
Then we can see how many functions are involved, how large this makes
the Path object, and try it out and see whether it is better.
--
Steve
_______________________________________________
Python-ideas mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/