Difference between os.path.isdir and Path.is_dir

Terry Reedy tjreedy at udel.edu
Sat Dec 14 11:43:00 EST 2019


On 7/26/2019 3:12 AM, Kirill Balunov wrote:
> чт, 25 июл. 2019 г. в 20:28, eryk sun <eryksun at gmail.com>:
> 
>> On 7/25/19, Kirill Balunov <kirillbalunov at gmail.com> wrote:
>>>
>>>>>> import os
>>>>>> from pathlib import Path
>>>>>> dummy = " "   # or "" or "     "
>>>>>> os.path.isdir(dummy)
>>> False
>>>>>> Path(dummy).is_dir()
>>> True
>>
>> I can't reproduce the above result in either Linux or Windows. The
>> results should only be different for an empty path string, since
>> Path('') is the same as Path('.'). The results should be the same for
>> Path(" "), depending on whether a directory named " " exists (normally
>> not allowed in Windows, but Linux allows it).
>>
>>
> I need to confirm that it was my fault and for non-empty strings (`" "` or `"
> "`), both `os.path.isdir(...)` and `Path(...).is_dir()` produce the same
> results.So sorry for the noise.
> 
> Concerning the case with empty path string, I will open a ticket at the bug
> tracker (but for some reason it is blocked in my country :(
> https://isitblockedinrussia.com/?host=https%3A%2F%2Fbugs.python.org%2F).

For me, this now returns 'No, https://bugs.python.org is probably not 
blocked in Russia. Yet.'.

> Obviously
> these are not equivalent forms, so either this should be noted in the
> documentation or corrected in the code.

-- 
Terry Jan Reedy




More information about the Python-list mailing list