python pyh模块下载_Python PYH模块 · Seacme Huang

Python生成HTML代码,制作HTML表格

一、pyh模块介绍

1.1 介绍

pyh是一个强大且简约的python模块,你可以使用它在python程序中生成HTML内容。

pyh为了这一切提供了非常不错的解决方案。它让你像编写GUI一样,编写网页

1.2 日常使用HTML确定

在python代码中手写HTML代码非常乏味并且使代码可读性变得非常槽糕。

当你尝试要去看一下HTML源码的时候,可读性同样很差。

1.3 功能特性

自动格式化HTML标签

高度可定制

完全识别CSS和Javascript

自动闭合标签

面向对象的HTML编写方式

1.4 安装pyh

wget https://sourceforge.net/projects/pyh/files/latest/download/PyH-0.11.tar.gz

tar -zxf PyH-0.1.1.tar.gz

cd PyH-0.1.1

python setup.py install

二、基本使用

2.1 代码例子

from pyh import *

# 定义网页的title

page = PyH('My wonderful PyH page')

# 定义网页需加载的CSS

page.addCSS('myStylesheet1.css', 'myStylesheet2.css')

# 定义网页需加载的JS

page.addJS('myJavascript1.js', 'myJavascript2.js')

# 定义内容一级大标题,class属性为居中(center)

page << h1('My big title', cl='center')

# 定义一个div容器,class加载myCSSClass1,myCSSClass2,容器里定义个标签

page << div(cl='myCSSclass1 myCSSclass2', id='myDiv1') << p('I love PyH!', id='myP1')

# 定义div容器,加入一个二级标题和一个标签

mydiv2 = page << div(id='myDiv2')

mydiv2 << h2('A smaller title') + p('Followed by a paragraph.')

# 定义div容器,

page << div(id='myDiv3')

page.myDiv3.attributes['cl'] = 'myCSSclass3'

page.myDiv3 << p('Another paragraph')

page.printOut()

2.2 实现效果

My wonderful PyH page

My big title

I love PyH!

A smaller title

Followed by a paragraph.

Another paragraph

三、基础手册

生成对象

HTML标签可以通过调用同名函数来生成。

HTML标签可以通过tag()来生成。

# 生成一个div容器

page = div()

page.render()

'

对象中标签传入内容

page = div(p('My paragraph'),cl='myCSSClass1 myCSSclass2', id='myCSSid1')

page.render()

'

My paragraph

n
n'

对象中标签修改属性

page = div(cl='myCSSClass1',id='myCSSid1')

page.attributes['id'] = 'myCSSid'

page.render()

'

对象中标签间连接

page = div() + div()

page.render()

'

标签间包含

page = div(id='myTopLevelDiv')

myPar = page << div(id='myInnerDiv') << p(id='myPar')

myPar << span('My first span') + span('My second span')

page.render()

'

My first spannMy second spann

n
n
n'

标签间访问

当一个标签被包含进另一个标签之后,可以把它作为上级标签成员来进行访问,它的名字就是其id属性的值

如果没有指定该值,则tag_001就是该类第一个标签的名字

page = div()

page << span(id='myspan')

page.myspan << 'centen1'

page << span()

page.span << 'centent2'

page << span()

page.span_001 << 'content3'

page.render()

'

centen1n centent2n content3n
n'

四、创建网页

最高层的对象,是pyh对象。它创建一个包含CSS和javascript元素的HTML页面

from pyh import *

page = pyh('xxxxxx')

添加CSS表盒和javascript文件

page.addCSS('XXXX.css','XXXX2.css')

page.addJS('xxxxx.js','xxxxx2.js')

创建页面

page << h1('My big title!', cl='myCSSclass')

page << div(id='mySubtitleDiv') << h2('My sub-title')

maindiv = page << div(id='myMainDiv')

maindiv << h3('A smaller title') + p('followed by a small paragraph')

maindiv << p('Main paragraph ', style='color:red;') << a('a link', href='http://alink')

maindiv << span('hehe', οnclick='myJavaScriptFcn(); return false;')

maindiv << br()

maindiv << img(src='mypicture.jpg')

page << div(id='myFooter') << span('My footer')

可以把HTML页面输出到文件或者输出到浏览器

page.printOut()

五、创建表格

创建一个4乘4的表格

page = PyH('My wonderful PyH page')

page << h2('Most compact way to build a 4 by 4 table')

page << table() << tr(td('1') + td('2')) + tr(td('3') + td('4'))

page << h2('Another way to build a 4 by 4 table')

mytab = page << table()

tr1 = mytab << tr()

tr1 << td('1') + td('2')

tr2 = mytab << tr()

tr2 << td('3') + td('4')

page.printOut()

创建自定义表格

list=[['OA','192.168.8.58','common_dir-data-web-oa_192.168.8.58','/data/web/oa','2017-02-10 17:00:00','86400','异常'],['PM','192.168.8.77','common_dir-data-web-pm_192.168.8.77','/data/web/pm','2017-02-11 10:00:00','172800','成功'],['Nagios','192.168.8.111','common_dir-data-web-nagios_192.168.8.111','/usr/local/nagios','2017-02-22 11:00:00','86400','成功']]

page = PyH('Test')

page<< div(style="text-align:center") << h2(title)

mytab = page << table(border="1",cellpadding="3",cellspacing="0",style="margin:auto")

tr1 = mytab << tr(bgcolor="lightgrey",align='center')

tr1 << th('应用') + th('IP') + th('备份文件名') + th('检查点') + th('修改时间') + th('定义的间隔时间') + th('结果')

for i in range(len(list)):

tr2 = mytab << tr(align='center')

for j in range(7):

tr2 << td(list[i][j])

if list[i][j]=='异常':

tr2[6].attributes['style'] = 'color:red'

page.printOut('test.html')

with open('test.html','r') as f:

html = f.read()

效果图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值