Triple Quotes
'''
This is a
multi-line
string.
'''
Concatenating
('this is '
'a string')
Escaping
'This is'\
'a string'
I also know that prefixing the string with r
will make it a raw string, useful for filepaths.
r'C:\Path\To\File'
However, I have a long filepath that both spans multiple lines and needs to be a raw string. How do I do this?
This works:
In [1]: (r'a\b'
...: '\c\d')
Out[1]: 'a\\b\\c\\d'
But for some reason, this doesn't:
In [4]: (r'on\e'
...: '\tw\o')
Out[4]: 'on\\e\tw\\o'
Why does the "t"
only have one backslash?
Python raw string is created by prefixing a string literal with 'r' or 'R'. Python raw string treats backslash (\) as a literal character. This is useful when we want to have a string that contains backslash and don't want it to be treated as an escape character.
A multiline string in Python begins and ends with either three single quotes or three double quotes. Any quotes, tabs, or newlines in between the “triple quotes” are considered part of the string. Python's indentation rules for blocks do not apply to lines inside a multiline string.
You'd need a r
prefix on each string literal
>>> (r'on\e'
r'\tw\o')
'on\\e\\tw\\o'
Otherwise the first portion is interpreted as a raw string literal, but the next line of string is not, so the '\t
' is interpreted as a tab character.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With