Steven D'Aprano wrote:
Richard D. Moores wrote:
Puzzled again. Why the error. Line 36 is the line just above "import
os.path". I have many other functions in mycalc.py with examples
formatted exactly the same way.

def convertPath(path):
    """
    Given a path with backslashes, return that path with forward slashes.

    By Steven D'Aprano  07/31/2011 on Tutor list
    >>> path = r'C:\Users\Dick\Desktop\Documents\Notes\College Notes.rtf'

Are you aware that this is not a raw string? It's wrapped inside another non-raw string, so it is merely a sub-string containing the letters r single-quote C colon backslash-U etc. Now, as it turns out, backslash-U and friends don't have any special meanings, so it will work fine, but


*slaps head*

Doh! No, I was wrong. \U DOES have a special meaning. It introduces an eight-character unicode escape sequence, but only in unicode strings.

>>> u'\Users\Dick'
  File "<stdin>", line 1
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-2: truncated \UXXXXXXXX escape

This fails because the \U is not followed by any valid hex digits. So in Python 3, you should expect a different syntax error.



--
Steven
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to