os.rename() doesn't work w/unicode??
fanbanlo
henryho at NO__SPAMM_.telus.net
Tue Feb 15 05:02:12 EST 2005
Serge Orlov wrote:
> fanbanlo wrote:
>
>>C:\MP3\001.txt -> 0.txt
>>C:\MP3\01. ??? - ????(???).mp3 -> 1.mp3
>>
>>Traceback (most recent call last):
>> File
>>"C:\Python24\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py",
>>line 310, in RunScript
>> exec codeObject in __main__.__dict__
>> File "C:\MP3\!RenameNum.py", line 40, in ?
>> renameFiles(os.path.dirname(sys.argv[0]))
>> File "C:\MP3\!RenameNum.py", line 26, in renameFiles
>> os.rename(os.path.join(path, filenames), new_filename)
>>OSError: [Errno 22] Invalid argument
>
>
> os.rename works with unicode, you're getting this error because
> question marks are not allowed in file names on Windows.
>
> Serge.
>
>
The filename is supposed to be in Chinese, on NTFS (WinXP). However,
when i print it, they are all '???', and that caused os.rename() to break.
How to force os.walk to return a list of unicode filename?
More information about the Python-list
mailing list