0

我有一个文本文件,我想在我的 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()
4

2 回答 2

2

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

另外,print f.readlines.join('\n')或者print f.read()(或者print f.readlines().join('<br>')如果您选择第一选择);否则你应该得到列表的代表。

于 2012-12-13T00:27:58.523 回答
0

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

请注意,如果您确实想要生成 HTML,您应该在文件内容周围包含一个打开和关闭 <BODY> 标记(除非它们恰好出现在文件中)。

于 2012-12-13T00:39:39.460 回答