On Fri, Mar 3, 2017 at 5:13 PM, Grant Edwards <grant.b.edwa...@gmail.com> wrote:
> At https://docs.python.org/2/library/shutil.html it says:
>
>  shutil.move(src, dst)
>
>     Recursively move a file or directory (src) to another location
>     (dst).
>
>     [...]
>
>     If the destination is on the current filesystem, then os.rename()
>     is used. Otherwise, src is copied (using shutil.copy2()) to dst
>     and then removed.
>
> What does the current filesystem have to do with anything?
>
> Surely, what matters is whether <src> and <dst> are on the same
> filesystem?

The source filesystem was probably the current filesystem in the OP's
thinking, in which case it made sense at the time of writing. Open an
issue if you want to improve the docs with better phrasing.

In Python 2 on Windows, os.rename can move a file across filesystems,
but this is no longer the case in 3.3+ on Windows. Also, os.rename
never replaces an existing file on Windows. (shutil.move should be
using os.replace in Python 3.) It would be more accurate in general if
the shutil.move docs stated only that os.rename is used if the
operation is allowed.
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to