Behaviour of os.rename()

venutaurus539 at gmail.com venutaurus539 at gmail.com
Wed Mar 11 10:35:01 EDT 2009


On Mar 11, 7:20 pm, Tim Golden <m... at timgolden.me.uk> wrote:
> venutaurus... at gmail.com wrote:
> > Hello all,
> >             I got a suspicion on the behaviour of os.rename
> > (src,dst).If the src is the path of a file and dst is a new filename
> > this os.rename() function is infact creating a new file with the dst
> > name in the current working directory and leaving the src as it is. Is
> > this the expected behavior? If i want the actual source file in its
> > orignal location to be renamed without doing os.chdir() to that
> > directory, is that possible?
>
> > Ex: if my script ren.py contains the following code:
>
> > os.rename("C:\\Folder1\\Folder2\\file1,file2)
>
> >               and my ren.py is in the folder D:\. Now if I run this
> > script, it is creating file2 in D:\ but I want it in C:
> > \Folder1\Folder2. is that possible?
>
> >             When I checked the normal Windows rename function, it is
> > working to my expectations but I can't use it because my file is in a
> > deep path (>255) which Windows won't support.
>
> os.rename on windows calls the Windows MoveFile API:
>
>  http://msdn.microsoft.com/en-us/library/aa365239(VS.85).aspx
>
> Have a look at the details on that page to see what
> the limitations / actions are. But remember -- as I've
> indicated elsewhere -- to use the ur"\\?\c:\..." form
> of the file names.
>
> And let us know if that works :)
>
> TJG

That actually was an illustration. As you've told in another chain, it
isn't working even after appending "\\?\"

Thank you,
Venu



More information about the Python-list mailing list