STINNER Victor added the comment:
On Windows, os.path.isdir calls nt._isdir(). Core of this C function:
wchar_t *wpath = PyUnicode_AsUnicode(po);
if (wpath == NULL)
return NULL;
attributes = GetFileAttributesW(wpath);
if (attributes == INVALID_FILE_ATTRIBUTES)
Py_RETURN_FALSE;
...
Can you please try to call directly nt._isdir()? Can also also compare with
stat.S_ISDIR(os.stat(fn).st_mode)?
If the problem is something with the implementation of Unicode, it would be
interesting to try to get the content of the string using:
* print(ascii(path.encode("unicode_internal"))) # should be result of
PyUnicode_AsUnicode() which is cached
* print(ascii(path.encode("utf-8")))
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue17137>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com