Escape For Str In Python
Wow, this should be so simple, but it' just not working. I need to inset a '\' into a string (for a Bash command), but escaping just doesn't work. >>> a = 'testing' >&g
Solution 1:
You are being misled by Python's output. Try:
>>>a = "test\\ing">>>print(a)
test\ing
>>>print(repr(a))
'test\\ing'
>>>a
'test\\ing'
Solution 2:
'tes\\ting' is correct, but you are viewing the repr output for the string, which will always show escape characters.
>>>print'tes\\ting'
tes\ting
Solution 3:
The second example is correct. There are two slashes because you are printing the Python representation of the string.
If you want to see the actual string, call print a.
Solution 4:
If you want double slashes because the shell will escape \ again, use a raw string:
b = a[:3] + r'\\' + a[3:]
Solution 5:
b is fine in the second example, you see two slashes because you're printing the representation of b, so slashes are escaped in it too.
>>>b
'tes\\ting'
>>>print b
tes\ting
>>>
Post a Comment for "Escape For Str In Python"