mirror of
https://github.com/python/cpython.git
synced 2025-12-05 00:52:25 +00:00
#1559684: document that shutil.copy* doesn't copy all metadata on Posix and Windows too.
This commit is contained in:
parent
14aaee143d
commit
ec32b6bce7
1 changed files with 13 additions and 8 deletions
|
|
@ -18,15 +18,20 @@ copying and removal. For operations on individual files, see also the
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
On MacOS, the resource fork and other metadata are not used. For file copies,
|
Even the higher-level file copying functions (:func:`copy`, :func:`copy2`)
|
||||||
this means that resources will be lost and file type and creator codes will
|
can't copy all file metadata.
|
||||||
not be correct.
|
|
||||||
|
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)
|
.. function:: copyfile(src, dst)
|
||||||
|
|
||||||
Copy the contents of the file named *src* to a file named *dst*. The
|
Copy the contents (no metadata) of the file named *src* to a file named *dst*.
|
||||||
destination location must be writable; otherwise, an :exc:`IOError` exception
|
The destination location must be writable; otherwise, an :exc:`IOError` exception
|
||||||
will be raised. If *dst* already exists, it will be replaced. Special files
|
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
|
such as character or block devices and pipes cannot be copied with this
|
||||||
function. *src* and *dst* are path names given as strings.
|
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.
|
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.
|
Otherwise, copy src to the dst and then remove src.
|
||||||
|
|
||||||
.. versionadded:: 2.3
|
.. versionadded:: 2.3
|
||||||
|
|
@ -122,7 +127,7 @@ copying and removal. For operations on individual files, see also the
|
||||||
|
|
||||||
.. exception:: Error
|
.. 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*,
|
:func:`copytree`, the exception argument is a list of 3-tuples (*srcname*,
|
||||||
*dstname*, *exception*).
|
*dstname*, *exception*).
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue