FYI there was a patch for this in the past and it was rejected:
https://bugs.python.org/issue21301

Damian (he/him)

On Thu, Feb 10, 2022 at 12:04 PM Christopher Barker <python...@gmail.com>
wrote:

> +1 -- I would really like pathlib to be able to used for everything one
> would need to do with paths.
>
> -CHB
>
>
> On Thu, Feb 10, 2022 at 3:05 AM anthony.flury via Python-ideas <
> python-ideas@python.org> wrote:
>
>> All,
>>
>> I know that *os.path* includes a function *expandvars(..)* which expands
>> any environment variables in a given path, but from looking at the
>> *pathlib* documentation It seems there is
>> no equivalent to *os.path.expandvars(..) on any class* in *pathlib*, and
>> the recommendation seems to be to use *pathlib* to do any and all path
>> manipulations, with the exception of expanding environment variables.
>>
>> It appears that the recommended *pathlib* compatible code to fully
>> convert any file path (which may have environment variables and or ~ or
>> ~user constructs) to a fully resolved absolute path is :
>>
>> import os.path
>>
>> import pathlib
>>
>> given_path = input('Provide the full path')
>>
>> abs_path =
>> pathlib.Path(os.path.expandvars(pathlib.Path(givenpath).expanduser())).resolve()
>>
>> It seems to me that *pathlib.Path* would benefit massively from an
>> *os.path.expandvars(..)* equivalent - so that the equivalent code could
>> be :
>>
>> import os.path
>>
>> import pathlib
>>
>> given_path = input('Provide the full path')
>>
>> abs_path = pathlib.Path(givenpath).expandvars().expanduser().resolve()
>>
>> I know the need to do this is likely to be a corner case, but even still
>> it continues dependency on *os.path* for those programs that need to
>> resolve environment variables in paths, and increases the cognitive load
>> for this operation, , and it seems like a missed feature in *pathlib*
>>
>> A change such as this shouldn't affect backwards compatibility.
>>
>> What do people think - have I missed something or is pathlib missing
>> something ?
>>
>>
>>
>> *Pathlib documentation *
>>
>> *https://docs.python.org/3/library/pathlib.html#module-pathlib
>> <https://docs.python.org/3/library/pathlib.html#module-pathlib>*
>>
>>
>> --
>> Anthony Flury
>> *Moble*: +44 07743 282707
>> *Home*: +44 (0)1206 391294
>> *email*: anthony.fl...@btinternet.com
>> _______________________________________________
>> 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/IJSOTVIDYLWRYEXFZCOFWSCIYHORQS6Z/
>> Code of Conduct: http://python.org/psf/codeofconduct/
>>
>
>
> --
> Christopher Barker, PhD (Chris)
>
> Python Language Consulting
>   - Teaching
>   - Scientific Software Development
>   - Desktop GUI and Web Development
>   - wxPython, numpy, scipy, Cython
> _______________________________________________
> 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/X4CAQWE2QQKV2HKAO3PQAWUZ23Z4MMBW/
> Code of Conduct: http://python.org/psf/codeofconduct/
>
_______________________________________________
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/3DML6XHOOGB3MIGBTI2LN62EOMYW5Y3D/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to