Commit 8abf0a90 authored by Georg Brandl's avatar Georg Brandl

#1559684: document that shutil.copy* doesn't copy all metadata on Posix and Windows too.

parent 6497afed
......@@ -18,15 +18,20 @@ copying and removal. For operations on individual files, see also the
.. warning::
On MacOS, the resource fork and other metadata are not used. For file copies,
this means that resources will be lost and file type and creator codes will
not be correct.
Even the higher-level file copying functions (:func:`copy`, :func:`copy2`)
can't copy all file metadata.
On POSIX platforms, this means that file owner and group are lost as well
as ACLs. On MacOS, the resource fork and other metadata are not used.
This means that resources will be lost and file type and creator codes will
not be correct. On Windows, file owners, ACLs and alternate data streams
are not copied.
.. function:: copyfile(src, dst)
Copy the contents of the file named *src* to a file named *dst*. The
destination location must be writable; otherwise, an :exc:`IOError` exception
Copy the contents (no metadata) of the file named *src* to a file named *dst*.
The destination location must be writable; otherwise, an :exc:`IOError` exception
will be raised. If *dst* already exists, it will be replaced. Special files
such as character or block devices and pipes cannot be copied with this
function. *src* and *dst* are path names given as strings.
......@@ -114,7 +119,7 @@ copying and removal. For operations on individual files, see also the
Recursively move a file or directory to another location.
If the destination is on our current filesystem, then simply use rename.
If the destination is on the current filesystem, then simply use rename.
Otherwise, copy src to the dst and then remove src.
.. versionadded:: 2.3
......@@ -122,7 +127,7 @@ copying and removal. For operations on individual files, see also the
.. exception:: Error
This exception collects exceptions that raised during a mult-file operation. For
This exception collects exceptions that raised during a multi-file operation. For
:func:`copytree`, the exception argument is a list of 3-tuples (*srcname*,
*dstname*, *exception*).
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment