用Python创建HTML表格
我在创建一个HTML表格时遇到了困难。我的目标是把 list
、dict
、tuple
、str
、int
和 float
的所有 dir()
输出放到一个HTML表格里,并且每行最多显示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>
1 个回答
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))