From: Benjamin Peterson Date: Sun, 22 Mar 2015 14:11:54 +0000 (-0400) Subject: clarify behavior of shutil.move when destination exists (closes #22933) X-Git-Tag: v3.5.0a3~40^2~17 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=218144a94d54e5219a1d63fd07775a41059afcd6;p=python clarify behavior of shutil.move when destination exists (closes #22933) Patch by Mike Short. --- diff --git a/Doc/library/shutil.rst b/Doc/library/shutil.rst index d96fd71934..cd86e92944 100644 --- a/Doc/library/shutil.rst +++ b/Doc/library/shutil.rst @@ -287,12 +287,9 @@ Directory and files operations Recursively move a file or directory (*src*) to another location (*dst*) and return the destination. - If the destination is a directory or a symlink to a directory, then *src* is - moved inside that directory. - - The destination directory must not already exist. If the destination already - exists but is not a directory, it may be overwritten depending on - :func:`os.rename` semantics. + If the destination is an existing directory, then *src* is moved inside that + directory. If the destination already exists but is not a directory, it may + be overwritten depending on :func:`os.rename` semantics. If the destination is on the current filesystem, then :func:`os.rename` is used. Otherwise, *src* is copied (using :func:`shutil.copy2`) to *dst* and