使用python和cherrypy,我如何读取txt文件并将其显示到页面?

时间:2012-03-17 02:54:26

标签: python html file-io cherrypy

我有一个格式为:

的txt文件
line_1
line_2
line_3

我正在尝试将其读入列表并将其显示在网页上,就像查看txt文件一样;一行在另一行之下。这是我的代码

@cherrypy.expose
def readStatus(self):

    f = open("directory","r")
    lines = "\n".join(f.readlines())
    f.close()
    page += "<p>%s</p>" % (lines)

但是,我得到的输出是:

line_1 line_2 line_3

如果有人能给我一个关于该怎么做的话会很棒,所以line_1,line_2和line_3会在网页浏览器的3条单独的行中显示出来?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您要在所有文件名周围包装段落标记。您可能想要分别在每个文件名周围放置段落标记:

with open("directory", "r") as f:
    page = "\n".join("<p>%s</p>" % line for line in f)

或者,从语义上讲,你可以将它全部放在无序列表中:

with open("directory", "r") as f:
    page = '<ul>%s</ul>' % "\n".join("<li>%s</li>" % line for line in f)

或者,您可以将其全部放在pre(预先格式化的文本)标记内:

with open('directory', 'r') as f:
    page = '<pre>%s</pre>' % f.read()

此外,您可能需要考虑使用cgi.escape转义文件名,以便浏览器不会解释文件名中的任何特殊字符。