【问题标题】:Creating a HTML Table with Python使用 Python 创建 HTML 表格
【发布时间】:2014-08-28 12:24:22
【问题描述】:

我坚持在这里为这段代码创建一个 HTML 表。必须尝试在 HTML 表中输出所有 dir()listdicttuplestrintfloat,每行限制为 7 列。我已经尝试了很多东西,但无法生产。当我尝试它时,我不断收到内部服务器错误。我想我正在为表格做标签,或者我遗漏了一些东西,但仍然没有弄清楚。

#!/usr/local/bin/python3

print('Content-type: text/html\n')

d_list = [] 
d_dict = []
d_tuple = []
d_str = []
d_int = []
d_float = []

for i in dir(list):
    d_list.append(i)
for i in dir(dict):
    d_dict.append(i)
for i in dir(tuple):
    d_tuple.append(i)
for i in dir(str):    
    d_str.append(i)
for i in dir(int):
    d_int.append(i)
for i in dir(float):
    d_float.append(i)

d_list = [d_list[i:i + 7] for i in range(0, len(d_list), 7)]
d_dict = [d_dict[i:i + 7] for i in range(0, len(d_dict), 7)]
d_tuple = [d_tuple[i:i + 7] for i in range(0, len(d_tuple), 7)]
d_str = [d_str[i:i + 7] for i in range(0, len(d_str), 7)]
d_int = [d_int[i:i + 7] for i in range(0, len(d_int), 7)]
d_float = [d_float[i:i + 7] for i in range(0, len(d_float), 7)]

td_list = []
td_dict = []
td_tuple = []
td_str = []
td_int = []
td_float = []

for i in d_list:
     td_list.append(['<td>{}</td>'.format(x) for x in i])
for i in d_dict:
     td_dict.append(['<td>{}</td>'.format(x) for x in i])
for i in d_tuple:
     td_tuple.append(['<td>{}</td>'.format(x) for x in i])
for i in d_str:
     td_str.append(['<td>{}</td>'.format(x) for x in i])
for i in d_int:
     td_int.append(['<td>{}</td>'.format(x) for x in i])
for i in d_float:
     td_float.append(['<td>{}</td>'.format(x) for x in i])

<table>
for i in td_list:
     print('<tr>' + " ".join(i) + '</tr>')
</table>
<table>
for i in td_dict:
     print('<tr>' + " ".join(i) + '</tr>')
</table>
<table>
for i in td_tuple:
     print('<tr>' + " ".join(i) + '</tr>')
</table>
<table>
for i in td_str:
     print('<tr>' + " ".join(i) + '</tr>')
</table>
<table>
for i in td_int:
     print('<tr>' + " ".join(i) + '</tr>')
</table>
<table>
for i in td_float:
     print('<tr>' + " ".join(i) + '</tr>')
</table>

【问题讨论】:

  • 如果您是printHTML,您不应该同时打印表格标签吗?
  • 你能发布一些示例输出吗?此外,@CDspace 有一个很好的观点。

标签: python html dir


【解决方案1】:

试试这个

#!/usr/local/bin/python3

print('Content-type: text/html\n')

table = []
table.append("<table>\n")
for obj in [list, dict, tuple, str, int, float]:
    table.append("\t<tr>\n")
    td = []
    for key in dir(obj)[:7]:
        td.append("<td>{0}</td>".format(key))
    table.append("\t\t"+"".join(td))
    table.append("\n\t</tr>\n")

table.append("</table>")

print("".join(table))

【讨论】:

  • 当我运行它时,它只输出目录的前 7 个,然后停止并进入下一个类。所以我尝试将对象 for 循环放在 table = [] 上面,这样它就会为每个类创建一个表,我在第二个 for 循环中取出 [:7] 的东西。这行得通,但现在这张桌子每张桌子只有一长排。有什么办法可以将其限制回 7 并且还输出每个类的所有目录。
猜你喜欢
  • 1970-01-01
  • 2011-07-12
  • 2022-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-21
  • 2019-06-11
  • 1970-01-01
相关资源
最近更新 更多