Behaviour of os.path.join
Barry Scott
barry at barrys-emacs.org
Wed May 27 04:09:10 EDT 2020
> On 26 May 2020, at 17:46, MRAB <python at mrabarnett.plus.com> wrote:
>
> On 2020-05-26 16:48, BlindAnagram wrote:
>> On 26/05/2020 16:22, Ben Bacarisse wrote:
>>> BlindAnagram <blindanagram at nowhere.com> writes:
>>>> I came across an issue that I am wondering whether I should report as an
>>>> issue. If I have a directory, say:
>>>>
>>>> base='C:\\Documents'
>>>>
>>>> and I use os.path.join() as follows:
>>>>
>>>> join(base, '..\\..\\', 'build', '')
>>> It rather defeats the purpose of os.sep if you include it in a part of
>>> the path. What you mean is better expressed as
>>> join(base, '..', '..', 'build', '')
>>> (and base includes it too, but I can't suggest an alternative because I
>>> don't know your intent is far as defaults go.)
>> Thanks for your input but while that part of my path may not be to your
>> liking, it works fine and does not seem to be relevant to my concern,
>> which is that join appears to treat os.sep as an absolute path, which it
>> is not.
> If it starts with the path separator, then it's absolute (well, absolute on that drive).
>
> Open a Command Prompt window and it'll open in the %HOME% folder. Then type "cd \" and it'll put you in the root folder.
HOME is not defined by windows.
I have theses:
HOMEDRIVE=C:
HOMEPATH=\Users\barry
USERPROFILE=C:\Users\barry
I have always use USERPROFILE in place of HOME on Windows.
Barry
> --
> https://mail.python.org/mailman/listinfo/python-list
>
More information about the Python-list
mailing list