[issue28611] Syntax error when using raw strings ending with a backslash.

Ned Deily report at bugs.python.org
Fri Nov 4 12:43:37 EDT 2016


Ned Deily added the comment:

To expand a bit, the "Python Language Reference" section on "String and Byte Literals" explains:

"Even in a raw literal, quotes can be escaped with a backslash, but the backslash remains in the result; for example, r"\"" is a valid string literal consisting of two characters: a backslash and a double quote; r"\" is not a valid string literal (even a raw string cannot end in an odd number of backslashes). Specifically, a raw literal cannot end in a single backslash (since the backslash would escape the following quote character). Note also that a single backslash followed by a newline is interpreted as those two characters as part of the literal, not as a line continuation."

https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals

Because of the difference between Posix- and Windows-style paths and the potential conflicts in the use of `\` (such as you ran into), Python provides the older os.path and the newer pathlib modules, both of which allow you to deal with path manipulations in a more platform-independent manner.

https://docs.python.org/dev/library/pathlib.html
https://docs.python.org/dev/library/os.path.html

----------
nosy: +ned.deily

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue28611>
_______________________________________


More information about the Python-bugs-list mailing list