【发布时间】:2013-02-05 02:55:40
【问题描述】:
我需要将几条路径添加到一个末尾带有 \n 字符的单行字符串中。为方便起见,在字符串的前面添加了关键字 r。在这种情况下字符'\n'不能正常显示。
例如
str_output = r'name = %(name)s, some_dir = \\folder0\\..., description = "%(des)s\n'
print(str_output % {'name':'new', 'des':'new add one'})
输出将显示没有换行符。目前我使用字符串加来绕过这个问题。如:
str_output = r'name = %(name)s, some_dir = \\folder0\\..., description = "%(des)s' + '\n'
而不是之前定义的 str_output。我很好奇有没有其他方便的方法可以做到这一点?字符串 plus 在我的代码中看起来很难看。谢谢!
【问题讨论】:
-
它不起作用的原因是字符串前面的
r- 它按字面意思对待每个字符并且转义序列没有转义。 -
是的,我知道字符r的功能,但是如果我使用这个功能,是不是意味着不能添加字符'\n'?
-
不使用原始字符串 -
r'\n'与'\\n'相同,后者打印'\n'而不是换行符。 -
是的,但是如果有一种简单的方法可以在原始字符串中添加“\n”,那么代码看起来会比与字符串加号混合更直接有效。 :)