使用python在html中使用新行读取文本文件

时间:2012-12-13 00:24:34

标签: python html

我有一个文本文件,我想在我的cgi脚本中阅读,它会在每行之间显示一条新行,但它只是一个巨大的文本墙。我不知道把'\ n'放在哪里。我尝试了多个地点但没有工作。这是我的代码。

cgitb.enable()

form = cgi.FieldStorage()

keyword = form.getvalue('keyword')

f = open('%s.txt' %keyword, 'r')

print 'Content-type: text/html\r\n\r'
print '<html>'
print '<title> keyword + "tweets" </title>'
print f.readlines()
print '</html>'

f.close()

2 个答案:

答案 0 :(得分:2)

默认情况下,HTML将换行符视为空格。将它们转换为<br>元素,或将文本包装在<pre>元素中,或确保在CSS中处理white-space是合适的。

此外,print f.readlines.join('\n')print f.read()(或print f.readlines().join('<br>')如果您选择第一个选项);否则你应该获得列表的repr。

答案 1 :(得分:0)

如果你真的希望输出显示为纯文本,那么简单地将Content-Type标题的值设置为“text / plain”而不是“text / html”要容易得多,然后大多数浏览器只会渲染你的文本无需穿插HTML。

请注意,如果您想要生成HTML,则应该包含开始和结束&lt; BODY&gt;标记文件内容(除非它们碰巧出现在文件中)。