Rename file without overwriting existing files

Grant Edwards grant.b.edwards at
Mon Jan 30 10:48:16 EST 2017

On 2017-01-30, Jussi Piitulainen <jussi.piitulainen at> wrote:

> It doesn't seem to be documented. I looked at help( on Python
> 3.4 and the corresponding current library documentation on the web. I
> saw no mention of what happens when dst exists already.

The functions in the os module are thin-as-possible wrappers around
the OS's libc functions.  The authors of the os module don't really
have any way of knowing the details of what your os/libc combination
is going to do.

If you're calling, you're sort of expected to know what foo()
does on your OS.

> Also, creating a hard link doesn't seem to work between different file
> systems, which may well be relevant to Steve's case. I get:
>     OSError: [Errno 18] Invalid cross-device link: [snip]
> And that also is not mentioned in the docs.

Again, that's a detail that depends on your particular
OS/libc/filesystem implementation.  It's not determined by nor
knowable by the authors of the os module.

Grant Edwards               grant.b.edwards        Yow! I'm ANN LANDERS!!
                                  at               I can SHOPLIFT!!

More information about the Python-list mailing list