>>> t = "first%s\n"
>>> t = t %("second")
>>> print t
firstsecond
无论如何,我可以在最后保留“\ n”并输出“firstsecond \ n”作为输出吗?
答案 0 :(得分:7)
你需要逃避斜杠
>>> t = "first%s\\n"
>>> t = t %("second")
>>> print t
或使用原始字符串:
>>> t = r"first%s\n"
>>> t = t %("second")
>>> print t
答案 1 :(得分:3)
print "firstsecond\n"
显示“firstsecond”,光标将被推送到下一个新行。所以你没有看到任何反斜杠后跟n。因为字符串的显示意味着会解释特殊字符,例如 \ n 。
repr()会阻止解释,因此print repr("firstsecond\n")
会显示 firstsecond \ n
那么,你想要什么? :
t “firstsecond \ n”并显示 repr(t)以验证是否存在 > \ n 在其中?
或 t “firstsecond \\ n”,以便print t
显示 firstsecond \ n ?
请参阅:
t = "first%s\n"
print repr(t),len(t)
t = t %("second")
print repr(t),len(t)
print '-------------------'
t = "first%s\\n" # the same as r"first%s\n"
print repr(t),len(t)
t = t %("second")
print repr(t),len(t)
结果
'first%s\n' 8
'firstsecond\n' 12
-------------------
'first%s\\n' 9
'firstsecond\\n' 13
但不要误解:当有这样的显示时:
'first%s\\n'
,
两个反斜杠\\表示一个反斜杠的值。两个\\仅出现在屏幕上,以转义的方式表示反斜杠的值。否则,无法区分由\后跟n和唯一字符\n
答案 2 :(得分:2)
根据您的具体需要,您还可以查看repr()。
>>> s = "firstsecond\n"
>>> print repr(s)
'firstsecond\n'