[Tutor] Raw string

Steven D'Aprano steve at pearwood.info
Mon Apr 19 01:25:37 CEST 2010

On Mon, 19 Apr 2010 07:49:31 am Neven Goršić wrote:
> Hi!
> When I get file path from DirDialog, I get in a (path) variable.
> Sometimes that string (path) contains special escape sequences, such
> as \x, \r and so on.
>              'C:\Python25\Programs\rating'

That creates a string containing a \r character, which is a carriage 

You could write it as a raw string


but that will fail if the string ends with a backslash. Or you could 
escape your backslashes:


The best solution is to remember that Windows will accept either 
backslash or forward slash in paths, and so write:


Another solution is to construct the path programmatically, e.g.:

parts = ['C:', 'Python25', 'Programs', 'ratings']
path = '\\'.join(parts)

but frankly I would consider any solution except "use forward slashes" 
to be a waste of time -- CPU time *and* programmer time.

> When I try to open that file (whose name contains escape sequences)
> it doesn't work.

Only because the file doesn't exist. If you actually have a file called 
Programs\rating in the C:/Python25/ directory, you will open it.

Steven D'Aprano

More information about the Tutor mailing list