当前位置:网站首页 > 网站建设教程 > HTML教程 > 正文

Python 技术篇-python生成html源码功能实现演示,html代码自动生成技巧,列表生成式的灵活应用

教程管理员 发布于2023-09-30 14:26 HTML教程 156

简介: Python 技术篇-python生成html源码功能实现演示,html代码自动生成技巧,列表生成式的灵活应用

python 之所以受欢迎就是因为它简单易用,而且很强大!

python 的列表生成式可以方便的生成我们想要的列表类型的数据,重点是我们想要的。

本篇文章就来为大家演示表单类型的 html 代码是如何生成的,希望大家通过引导可以有更好的想法,做出更有创意的脚本出来,分享给大家!

# -*- coding: utf-8 -*-
# dict类型数据
d = { '乔丹': 2.1, '姚明': 2.3, '科比': 1.9 }

# 转化方法
# 字符串可以通过 % 进行格式化,用指定的参数替代 %s。
def switch(a, b, c):
    return '<tr><td>%s</td><td>%s</td><td>%s</td></tr>' % (c, a, b)

# 两个循环每个人名遍历3次,每次序号1,2,3
html_code = [switch(a, b, c) for a,b in d.items() for c in range(1, 4) ]

# 保存为html文件
f=open("D:/html_code.html","w")
f.write('<table border="1" style="color:red">')
f.write('<tr><th>序号</th><th>球星</th><th>身高</th><tr>')
# 字符串的join()方法可以把一个 list 拼接成一个字符串。
f.write('\n'.join(html_code))
f.write('</table>')
f.close()

生成的 html 文件内容如下,浏览器打开就能看出效果了。

<table border="1" style="color:red"><tr><th>序号</th><th>球星</th><th>身高</th><tr><tr><td>1</td><td>乔丹</td><td>2.1</td></tr>
<tr><td>2</td><td>乔丹</td><td>2.1</td></tr>
<tr><td>3</td><td>乔丹</td><td>2.1</td></tr>
<tr><td>1</td><td>姚明</td><td>2.3</td></tr>
<tr><td>2</td><td>姚明</td><td>2.3</td></tr>
<tr><td>3</td><td>姚明</td><td>2.3</td></tr>
<tr><td>1</td><td>科比</td><td>1.9</td></tr>
<tr><td>2</td><td>科比</td><td>1.9</td></tr>
<tr><td>3</td><td>科比</td><td>1.9</td></tr></table>

运行效果如下:

image.png

下面来讲一下列表生成式

[switch(a, b, c) for a,b in d.items() for c in range(1, 4) ]

switch() 是方法,把值传入,调用方法,生成代码;

for 循环可以嵌套多层,第一个循环遍历 dict 类型数据,第二个循环遍历包含 1,2,3 的列表,后面的循环嵌套在前面的循环里面

后面还能加 if 语句来过滤呢,比如 if c>2,表示 c>2 时取到的值才会生成列表;

[switch(a, b, c) for a,b in d.items() for c in range(1, 4) if c>2]

给大家看下改进的效果

image.png

喜欢的点个赞❤吧!


琼ICP备09004296号-12