如何在Python dict值之间插入新行

2024-05-16 05:08:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用Flask和Jinja2模板处理html页面中显示的dict输出

我在找你帮忙

  1. 在每个dict值之间添加新行
  2. 使https://example.com:8087的http文本可单击

我创建字典的方式是

usedPort[node][z_port] =  (z_owner, docker_stack, url)

对结果的期望是

john_doe
Zeppelin-Engineer-Individual-TAP
https://example.com:8087

但事实上,我有

(john_doe, Zeppelin-Engineer-Individual-TAP, https://example.com:8087)

没有涉及任何打印操作,我不想在终端中打印输出,而是想在html页面中显示此dict值

对于http文本,我尝试了使用webbrowser module,但不幸的是,它不起作用


Tags: https文本comhttpflaskexamplehtml页面
1条回答
网友
1楼 · 发布于 2024-05-16 05:08:50

您使用的是tuple,并且您不知道如何显示它。如果您只是将tuple传递给显示它的对象(无论是print还是其他对象),它将使用默认表示,这就是您得到的

相反,传递您想要实际表示的内容:

'\n'.join(str(x) for x in my_tuple)  # Can use use `'\n'.join(my_tuple) if everything is a string

对于某些过度使用,您可以定义自己的集合(使用collection.UserTuple或仅从tuple继承,这可能会在某些使用中产生一些问题)

class Tuple(tuple):
    def __repr__(self)
        return '\n'.join(str(x) for x in self)

您必须使用Tuple(...)而不是只使用(...),但是默认情况下,您将在任意位置的值之间获得换行符

相关问题 更多 >