如何打印' \ n'而不是' \\ n'

时间:2015-10-25 12:42:31

标签: python python-3.x

我正在创建一个应用程序,我正在使用一些自动生成正则表达式,多行是reg Ex字符串包含\n

现在,每次执行generate命令时,我都想将命令打印到控制台以获取文档等。

INFO: Command execute: (regular expression)

但是,如果我只打印包含\n的Reg Ex字符串,我也会在打印输出中获得新行,这是不可取的。

INFO: Command execute: (regular expre
ssion)

我可以通过添加一个转义字符\n来打印换行符\\n,它也是打印出来的样子。

INFO: Command execute: (regular expre\\nssion)

这也是不可取的。我正在寻找的是能够像下面那样打印它。

INFO: Command execute: (regular expre\nssion)

这可能吗?

问候

2 个答案:

答案 0 :(得分:3)

使用内置函数repr()获取在评估时会重现该对象的字符串:

>>> text = 'INFO: Command execute: (regular expre\nssion)'
>>> print(text)
INFO: Command execute: (regular expre
ssion)
>>> print(repr(text))
'INFO: Command execute: (regular expre\nssion)'

答案 1 :(得分:2)

你可以试试这个。字符串前缀r使其忽略所有转义。

a = r"Hello\nworld"
print a # Hello\nworld

如果在使用r时仍需要新行,则可以使用三重引号sintax

b = r"""Big \n long
\n
string"""
print b
# Big \n long
# \n
# string