Serhiy Storchaka added the comment: Actually relative_to() returns invalid path object.
>>> import pathlib >>> p = pathlib.PureWindowsPath('C:/Foo/Bar/Baz').relative_to('C:') >>> p PureWindowsPath('//Foo/Bar/Baz') >>> str(p) '\\\\Foo\\Bar\\Baz' >>> p.drive '' >>> p.root '' >>> p.parts ('\\', 'Foo', 'Bar', 'Baz') >>> p.is_absolute() False >>> p2 = pathlib.PureWindowsPath(str(p)) >>> p2.drive '\\\\Foo\\Bar' >>> p2.root '\\' >>> p2.parts ('\\\\Foo\\Bar\\', 'Baz') >>> p2.is_absolute() True Here is a patch which fixes both bugs. >>> import pathlib >>> p = pathlib.PureWindowsPath('C:/Foo/Bar/Baz').relative_to('C:') >>> p PureWindowsPath('/Foo/Bar/Baz') >>> str(p) '\\Foo\\Bar\\Baz' >>> p.drive '' >>> p.root '\\' >>> p.parts ('\\', 'Foo', 'Bar', 'Baz') ---------- Added file: http://bugs.python.org/file33023/pathlib_relative_to_2.patch _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue19918> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com