如何在python中编写字符串文本而不必转义它们?
有没有一种方法可以在python中声明一个字符串变量,使其中的所有内容都自动转义,或者具有其文本字符值 很明显,我不是在问如何用斜杠逃避引用。我所要求的是一种通用的方法,用于将所有内容转换为字符串文字,这样我就不必手动遍历和转义非常大的字符串。有人知道解决办法吗?谢谢 原始字符串文本:如何在python中编写字符串文本而不必转义它们?,python,string,escaping,Python,String,Escaping,有没有一种方法可以在python中声明一个字符串变量,使其中的所有内容都自动转义,或者具有其文本字符值 很明显,我不是在问如何用斜杠逃避引用。我所要求的是一种通用的方法,用于将所有内容转换为字符串文字,这样我就不必手动遍历和转义非常大的字符串。有人知道解决办法吗?谢谢 原始字符串文本: >>> r'abc\dev\t' 'abc\\dev\\t' 如果要处理非常大的字符串,特别是多行字符串,请注意三引号语法: 您可以在此处找到Python的字符串文字文档: 在这里: 最简
>>> r'abc\dev\t'
'abc\\dev\\t'
如果要处理非常大的字符串,特别是多行字符串,请注意三引号语法:
您可以在此处找到Python的字符串文字文档: 在这里: 最简单的示例是使用“r”前缀:
ss = r'Hello\nWorld'
print(ss)
Hello\nWorld
没有这样的事。看起来您需要Perl和Shell中类似“heredocuments”的东西,但Python没有 使用原始字符串或多行字符串只意味着需要担心的事情更少。如果您使用原始字符串,那么您仍然必须围绕一个终端“\”,而对于任何字符串解决方案,如果数据中包含结束符“、”、“”或“”,则必须担心结束符 也就是说,没有办法获得字符串
' ''' """ " \
正确地存储在任何Python字符串文本中,无需某种内部转义。(假设不需要直接从Python代码中输入字符串)
为了避开安德鲁·达尔克指出的问题,只需在文本文件中键入文本字符串,然后使用它
input_ = '/directory_of_text_file/your_text_file.txt'
input_open = open(input_,'r+')
input_string = input_open.read()
print input_string
这将打印文本文件中任何内容的文本,即使它是
' ''' """ “ \
不是很有趣,也不是最理想的,但可能很有用,特别是当你有3页需要字符转义的代码时 如果字符串是变量,请对其使用.repr方法:
>>> s = '\tgherkin\n'
>>> s
'\tgherkin\n'
>>> print(s)
gherkin
>>> print(s.__repr__())
'\tgherkin\n'
这个结构引入换行字符吗?也就是说,变量
a
将包含一个带有两个换行符的字符串?@madpysicator:是的,在上述情况下,结果字符串将包含两个换行符。明白。如果在这个字符串上使用了“split()”,那么默认情况下它会按行分割吗?@madpysicator.split()的默认值是按空格分割,换行符是空格。我以前用过这个,效果很好。有两件事需要注意:其他行上的缩进(空格)是可取的;如果长字符串恰好以“
结尾,那就不好了,因为整件事都会以”
结尾,这是一个语法错误。但这不被认为是糟糕的样式吗?什么,小黄瓜?你可以用repr(s)
来代替更好的样式
>>> s = '\tgherkin\n'
>>> s
'\tgherkin\n'
>>> print(s)
gherkin
>>> print(s.__repr__())
'\tgherkin\n'