此代码:
a = "Hello,\\nWorld!"
print(a)
打印:
Hello,\nWorld!
果然。 但是如何重新引入换行符号和打印的特殊性:
Hello,
World!
不对原始字符串进行任何更改。喜欢:
a = "Hello,\nWorld!"
我问这个是因为某个函数(我无法控制)返回一个字符串,如:
Hello,\\nWorld!
我想将其打印到屏幕上(格式化为
) Hello,
World!
答案 0 :(得分:1)
您可以使用string_escape
解码字符串:
a = "Hello,\\nWorld!"
print(a)
# Hello,\nWorld!
print(a.decode("string_escape"))
# Hello,
# World!
更新 - 由于您没有立即指定版本,因此上述内容适用于Python 2.x,因为其str
对象已经是bytes
所在的对象Python 3.x.对于Python 3.x字符串,您必须先将它们编码为bytes
,然后使用unicode_escape
对其进行解码,或让codecs
模块为您执行此操作:
import codecs
a = "Hello,\\nWorld!"
print(a)
# Hello,\nWorld!
print(codecs.getdecoder('unicode_escape')(a)[0])
# Hello,
# World!
答案 1 :(得分:-1)
这似乎更简单。
s="Hello,\\nWorld!"
def spl(s):
return s.replace('\\n','\n')
print(spl(s))
print(s)
只需创建一个返回替换字符串的函数。然后打印出来。
输出:
Hello,
World!
Hello,\nWorld!
此外,您不必更改原始字符串。