bpo-42999: Expand and clarify pathlib.Path.link_to() documentation. (GH-24294)

This commit is contained in:
Barney Gale 2021-04-07 16:56:32 +01:00 committed by GitHub
parent abf964942f
commit 8aac1bea2e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 15 deletions

View File

@ -1134,6 +1134,20 @@ call fails (for example because the path doesn't exist).
of :func:`os.symlink`'s. of :func:`os.symlink`'s.
.. method:: Path.link_to(target)
Make *target* a hard link to this path.
.. warning::
This function does not make this path a hard link to *target*, despite
the implication of the function and argument names. The argument order
(target, link) is the reverse of :func:`Path.symlink_to`, but matches
that of :func:`os.link`.
.. versionadded:: 3.8
.. method:: Path.touch(mode=0o666, exist_ok=True) .. method:: Path.touch(mode=0o666, exist_ok=True)
Create a file at this given path. If *mode* is given, it is combined Create a file at this given path. If *mode* is given, it is combined
@ -1158,13 +1172,6 @@ call fails (for example because the path doesn't exist).
The *missing_ok* parameter was added. The *missing_ok* parameter was added.
.. method:: Path.link_to(target)
Create a hard link pointing to a path named *target*.
.. versionadded:: 3.8
.. method:: Path.write_bytes(data) .. method:: Path.write_bytes(data)
Open the file pointed to in bytes mode, write *data* to it, and close the Open the file pointed to in bytes mode, write *data* to it, and close the

View File

@ -1315,12 +1315,6 @@ class Path(PurePath):
""" """
return self.stat(follow_symlinks=False) return self.stat(follow_symlinks=False)
def link_to(self, target):
"""
Create a hard link pointing to a path named target.
"""
self._accessor.link(self, target)
def rename(self, target): def rename(self, target):
""" """
Rename this path to the target path. Rename this path to the target path.
@ -1349,11 +1343,23 @@ class Path(PurePath):
def symlink_to(self, target, target_is_directory=False): def symlink_to(self, target, target_is_directory=False):
""" """
Make this path a symlink pointing to the given path. Make this path a symlink pointing to the target path.
Note the order of arguments (self, target) is the reverse of os.symlink's. Note the order of arguments (link, target) is the reverse of os.symlink.
""" """
self._accessor.symlink(target, self, target_is_directory) self._accessor.symlink(target, self, target_is_directory)
def link_to(self, target):
"""
Make the target path a hard link pointing to this path.
Note this function does not make this path a hard link to *target*,
despite the implication of the function and argument names. The order
of arguments (target, link) is the reverse of Path.symlink_to, but
matches that of os.link.
"""
self._accessor.link(self, target)
# Convenience functions for querying the stat results # Convenience functions for querying the stat results
def exists(self): def exists(self):