使用Python自动生成HTML的方法示例

yipeiwu_com6年前Python基础

python 自动化批量生成前端的HTML可以大大减轻工作量

下面演示两种生成 HTML 的方法

方法一:使用 webbrowser

#coding:utf-8
 
import webbrowser
#命名生成的html
GEN_HTML = "test.html" 
#打开文件,准备写入
f = open(GEN_HTML,'w')
 
#准备相关变量
str1 = 'my name is :'
str2 = '--MichaelAn--'
 
# 写入HTML界面中
message = """
<html>
<head></head>
<body>
<p>%s</p>
<p>%s</p>
</body>
</html>
"""%(str1,str2)
 
#写入文件
f.write(message) 
#关闭文件
f.close()
 
#运行完自动在网页中显示
webbrowser.open(GEN_HTML,new = 1) 
'''
webbrowser.open(url, new=0, autoraise=True) 
Display url using the default browser. If new is 0, the url is opened in the same browser window if possible. If new is 1, a new browser window is opened if possible. If new is 2, a new browser page (“tab”) is opened if possible. If autoraise is True, the window is raised if possible (note that under many window managers this will occur regardless of the setting of this variable).
'''

方法二:使用pyh

#coding:utf-8
from pyh import *
# there is a bug "from pyh import *"
page = PyH('My wonderful PyH page')
page.addCSS('myStylesheet1.css', 'myStylesheet2.css')
page.addJS('myJavascript1.js', 'myJavascript2.js')
page << h1('My big title', cl='center')
page << div(cl='myCSSclass1 myCSSclass2', id='myDiv1') << p('I love PyH!', id='myP1')
mydiv2 = page << div(id='myDiv2')
mydiv2 << h2('A smaller title') + p('Followed by a paragraph.')
page << div(id='myDiv3')
page.myDiv3.attributes['cl'] = 'myCSSclass3'
page.myDiv3 << p('Another paragraph')
page.printOut('a.html')

对于大型的 HTML ,使用方法一可以跟灵活的处理HTML的元素变化。在这里推荐使用方法一生成HTML。

下面是生成的html

<html>
<head></head>
<body>
<p>my name is :</p>
<p>--MichaelAn--</p>
</body>
</html>

这样的方法可以生成简单的HTML,这种使用python自动生成HTML的思想需要有。未来使用人工智能等技术,可以根据已有网站进行深度学习,从而自动绘制新的网站。所以,前端工程化和未来发展需要重视。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python中enumerate()函数编写更Pythonic的循环

enumerate函数 enumerate是一个Python内置函数,一个功能强大的内置函数。其实功能强大不足以形容它, 但是很难用一个词来形容它的用途。 让我们来看看一个使用enum...

Python中二维列表如何获取子区域元素的组成

Python中二维列表如何获取子区域元素的组成

用过NumPY的应该都知道,在二维数组中可以方便地使用区域切片功能,如下图: 而这个功能在Python标准库的List中是不支持的,在List中只能以一维方式来进行切片操作: 但有时...

python 对key为时间的dict排序方法

如下所示: import time def date_compare(item1, item2): t1 = time.mktime(time.strptime(item1,...

django缓存配置的几种方法详解

为什么要用缓存? 首先说,为什么要用缓存的,由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个...

python编程使用协程并发的优缺点

协程 协程是一种用户态的轻量级线程,又称微线程。 协程拥有自己的寄存器上下文和栈,调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此:协程...