Skip to content

Commit

Permalink
Doc: os.path.abspath and Path.resolve are also different (pythonGH-23276
Browse files Browse the repository at this point in the history
)
  • Loading branch information
xuhdev authored Jan 20, 2021
1 parent 3554fa4 commit 1459fed
Showing 1 changed file with 12 additions and 5 deletions.
17 changes: 12 additions & 5 deletions Doc/library/pathlib.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1195,14 +1195,15 @@ Below is a table mapping various :mod:`os` functions to their corresponding

.. note::

Although :func:`os.path.relpath` and :meth:`PurePath.relative_to` have some
overlapping use-cases, their semantics differ enough to warrant not
considering them equivalent.
Not all pairs of functions/methods below are equivalent. Some of them,
despite having some overlapping use-cases, have different semantics. They
include :func:`os.path.abspath` and :meth:`Path.resolve`,
:func:`os.path.relpath` and :meth:`PurePath.relative_to`.

==================================== ==============================
os and os.path pathlib
:mod:`os` and :mod:`os.path` :mod:`pathlib`
==================================== ==============================
:func:`os.path.abspath` :meth:`Path.resolve`
:func:`os.path.abspath` :meth:`Path.resolve` [#]_
:func:`os.chmod` :meth:`Path.chmod`
:func:`os.mkdir` :meth:`Path.mkdir`
:func:`os.makedirs` :meth:`Path.mkdir`
Expand All @@ -1221,6 +1222,7 @@ os and os.path pathlib
:func:`os.link` :meth:`Path.link_to`
:func:`os.symlink` :meth:`Path.symlink_to`
:func:`os.readlink` :meth:`Path.readlink`
:func:`os.path.relpath` :meth:`Path.relative_to` [#]_
:func:`os.stat` :meth:`Path.stat`,
:meth:`Path.owner`,
:meth:`Path.group`
Expand All @@ -1231,3 +1233,8 @@ os and os.path pathlib
:func:`os.path.samefile` :meth:`Path.samefile`
:func:`os.path.splitext` :data:`PurePath.suffix`
==================================== ==============================

.. rubric:: Footnotes

.. [#] :func:`os.path.abspath` does not resolve symbolic links while :meth:`Path.resolve` does.
.. [#] :meth:`Path.relative_to` requires ``self`` to be the subpath of the argument, but :func:`os.path.relpath` does not.

0 comments on commit 1459fed

Please sign in to comment.