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