I'll apologize in advance for this one since I suspect a lot of people have hit this. The current implementation doesn't allow for a trailing backslash in the string. Why don't raw strings in Python work more like C# @"..." strings? Then it would allow for a trailing backslash and you could still get a single quote by two consecutive quotes characters. f=r'c:\src\f' # This is ok and gives you what you want f=r'c:\src\f\' # Compilation error. String is not terminated. f=r'''c:\src\f\''' # This doesn't work either and causes a compilation error. f=r'Here''s another mistake' # This doesn't do what you would think. # You get 'Heres another mistake' f=r'''Here's another mistake''' # This works but being able to use raw strings for this would be nice. f='c:\\src\\f\\' # this works but is ugly I just don't understand the rationale for the current implementation. I thought the intention of raw strings was to allow for backslashes in the string. The current implementation does a bad job at it. Any chance this could be changed with a backward compatibility option?