我有一个格式为:
的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条单独的行中显示出来?
提前致谢。
答案 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
转义文件名,以便浏览器不会解释文件名中的任何特殊字符。