summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/library/shutil.rst2
-rw-r--r--Lib/shutil.py16
2 files changed, 12 insertions, 6 deletions
diff --git a/Doc/library/shutil.rst b/Doc/library/shutil.rst
index 6b4ce14..7a596ee 100644
--- a/Doc/library/shutil.rst
+++ b/Doc/library/shutil.rst
@@ -177,7 +177,7 @@ Directory and files operations
.. function:: copy2(src, dst, *, follow_symlinks=True)
Identical to :func:`~shutil.copy` except that :func:`copy2`
- also attempts to preserve all file metadata.
+ also attempts to preserve file metadata.
When *follow_symlinks* is false, and *src* is a symbolic
link, :func:`copy2` attempts to copy all metadata from the
diff --git a/Lib/shutil.py b/Lib/shutil.py
index a4aa0df..40dd070 100644
--- a/Lib/shutil.py
+++ b/Lib/shutil.py
@@ -312,11 +312,15 @@ else:
pass
def copystat(src, dst, *, follow_symlinks=True):
- """Copy all stat info (mode bits, atime, mtime, flags) from src to dst.
+ """Copy file metadata
- If the optional flag `follow_symlinks` is not set, symlinks aren't followed if and
- only if both `src` and `dst` are symlinks.
+ Copy the permission bits, last access time, last modification time, and
+ flags from `src` to `dst`. On Linux, copystat() also copies the "extended
+ attributes" where possible. The file contents, owner, and group are
+ unaffected. `src` and `dst` are path names given as strings.
+ If the optional flag `follow_symlinks` is not set, symlinks aren't
+ followed if and only if both `src` and `dst` are symlinks.
"""
def _nop(*args, ns=None, follow_symlinks=None):
pass
@@ -384,8 +388,10 @@ def copy(src, dst, *, follow_symlinks=True):
return dst
def copy2(src, dst, *, follow_symlinks=True):
- """Copy data and all stat info ("cp -p src dst"). Return the file's
- destination.
+ """Copy data and metadata. Return the file's destination.
+
+ Metadata is copied with copystat(). Please see the copystat function
+ for more information.
The destination may be a directory.