Are you sure the source directory exists and you
have rights to rename it?  Because the rename works
for me.

But you may want to look at shutil.move and/or
use forward slashes (they work under Windows)

-Larry Bates


Tom wrote:
> I'm having a problem using a path with spaces as a parameter to
> os.rename() in a program on WinXP.
> 
> This works fine at the command line (where the folder "c:\aa bb" exists)
> 
>> os.rename( "c\aa bb", "c:\cc dd" );
>>
> 
> But, I can't get it to work in my program, eg.
> 
> print SrcDir
> print NewDir
> os.rename( SrcDir, NewDir );
> 
> when I run this I get something like this:
> 
> "e:\\music\\Joni Mitchell\\ogg-8"
> "e:\\music.ogg\\Joni Mitchell\\ogg-8"
> 
> Traceback (most recent call last):
>   File "E:\Music\MoveMusic.py", line 64, in ?
>     main();
> ...
>   File "E:\Music\MoveMusic.py", line 49, in Visit
>     os.mkdir( NewDir );
> OSError: [Errno 22] Invalid argument: '"e:\\music.ogg\\Joni
> Mitchell\\ogg-8"'
> 
> I've tried different combinations of single backslash vs. double
> backslash, and quoted vs. non-quoted, but it always fails.
> 
> The problem is not specific to os.rename.  If I instead use mkdir(
> SrcDir ) I get the same problem.
> 
> Thanks,
> Tom.
> 
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to