[Python-Dev] pathlib - current status of discussions
Sven R. Kunze
srkunze at mail.de
Tue Apr 12 11:38:36 EDT 2016
Sorry for disturbing this thread's harmony.
On 12.04.2016 08:00, Ethan Furman wrote:
> On 04/11/2016 10:14 PM, Chris Barker - NOAA Federal wrote:
>>> Consider os.path.join:
>> Why in the world do the os.path functions need to work with Path
>> objects? ( and other conforming objects)
> Because library XYZ that takes a path and wants to open it shouldn't
> have to care whether that path is a string or pathlib.Path -- but if
> os.open can't use pathlib.Path then the library has to care (or the
> user has to care).
>> This all started with the goal of using Path objects in the stdlib,
>> but that's for opening files, etc.
> Etc. as in os.join? os.stat? os.path.split?
>> Path is an alternative to os.path -- you don't need to use both.
I agree with that quote of Chris.
> As a user you don't, no. As a library that has no control over what
> kind of "path" is passed to you -- well, if os and os.path can accept
> Path objects then you can just use os and os.path; otherwise you have
> to use os and os.path if passed a str or bytes, and pathlib.Path if
> passed a pathlib.Path -- so you do have to use both.
I don't agree here. There's no need to increase the convenience for a
library maintainer when it comes to implicit conversions.
When people want to use your library and it requires a string, the can
simply use "my_path.path" and everything still works for them when they
switch to pathlib.
More information about the Python-Dev