os.walk return hex excapes

Leo Kislov Leo.Kislov at gmail.com
Tue Nov 28 06:45:59 EST 2006


Alex S wrote:
> Hi,
> os.walk return hex excape sequence inside a files name, and when i try
> to feed it back to os.remove i get
>
> OSError: [Errno 22] Invalid argument:
> 'C:\\Temp\\?p?\xbfS\xbf\xac?G\xaba ACDSee \xbb?a??n a???\xac\xb5\xbfn.exe'

It's not escape sequences that are the problem but question marks, I
suspect. Most likely this file name contains characters not in your
locale's language. To access this file name you need to use unicode,
just make sure the first parameter of os.walk is a unicode string, for
example: os.walk(u'c:\\temp'). The exact code how to make the first
parameter unicode depends on where it is coming from (network, config
file, registry, etc...) Reading unicode tutorial is highly recommended.

  -- Leo




More information about the Python-list mailing list