我已升级到Python 3,无法弄清楚如何将反斜杠转义的换行符转换为HTML。
浏览器按字面意思呈现反斜杠,因此“\ n”对HTML源代码没有影响。因此,我的源页面只有一条长线,无法诊断。
答案 0 :(得分:4)
通常我喜欢这个s=s.replace("\n","<br />\n")
因为
网页显示和需要 <br />
源显示中需要
\n
。
只是我的2美分
答案 1 :(得分:1)
解决方案是:
#!/usr/bin/python
import sys
def print(s): return sys.stdout.buffer.write(s.encode('utf-8'))
print("Content-type:text/plain;charset=utf-8\n\n")
print('晉\n')
请参阅此处的原始讨论: http://groups.google.com/group/comp.lang.python/msg/f8bba45e55fe605c
答案 2 :(得分:0)
也许我没有得到它,但不是<br />
HTML的某种换行符?
s = "Hello HTML\n"
to_render = s.replace("\n", "<br />")
如果您使用mimetype "text/plain"
\n
呈现内容,则ewlines应该有效。
答案 3 :(得分:0)
如果您使用的是Django,this答案将会有所帮助。
关于如何呈现页面以及是否转义HTML或没有。
答案 4 :(得分:0)
自从我解决了基本的Markdown之后,我就用正则表达式解决了新行。
widget
答案 5 :(得分:-1)
Print()应默认添加换行符 - 除非你另有说明。然而,Python 3中还有其他变化:
Old: print "The answer is", 2*2
New: print("The answer is", 2*2)
Old: print x, # Trailing comma suppresses newline
New: print(x, end=" ") # Appends a space instead of a newline
Old: print # Prints a newline
New: print() # You must call the function!
Old: print >>sys.stderr, "fatal error"
New: print("fatal error", file=sys.stderr)
Old: print (x, y) # prints repr((x, y))
New: print((x, y)) # Not the same as print(x, y)!
Old = Python 2.5,New = Python 3。