kja*_*keb 85 python string escaping
有没有办法在python中声明一个字符串变量,以便它内部的所有内容都自动转义,或者有它的文字字符值?
我不是要问如何用斜线来逃避引号,这是显而易见的.我要求的是一个通用的方法,使字符串文字中的所有内容,以便我不必手动完成并转义非常大的字符串的所有内容.有人知道解决方案吗?谢谢!
Sil*_*ost 109
原始字符串文字:
>>> r'abc\dev\t'
'abc\\dev\\t'
Run Code Online (Sandbox Code Playgroud)
Gre*_*ill 61
如果您正在处理非常大的字符串,特别是多行字符串,请注意三引号语法:
a = r"""This is a multiline string
with more than one line
in the source code."""
Run Code Online (Sandbox Code Playgroud)
哪有这回事.看起来你想在Perl和shell中使用类似"here documents"的东西,但Python没有.
使用原始字符串或多行字符串仅意味着需要担心的事情更少.如果您使用原始字符串,那么您仍然需要解决终端"\"并使用任何字符串解决方案,如果它包含在您的数据中,您将不得不担心结束",",""或""" .
也就是说,没有办法获得字符串
' ''' """ " \
Run Code Online (Sandbox Code Playgroud)
正确存储在任何Python字符串文字中,而不进行某种内部转义.
您可以在这里找到Python的字符串文字文档:
http://docs.python.org/tutorial/introduction.html#strings
和这里:
http://docs.python.org/reference/lexical_analysis.html#literals
最简单的示例将使用'r'前缀:
ss = r'Hello\nWorld'
print(ss)
Hello\nWorld
Run Code Online (Sandbox Code Playgroud)