简介
MarkupPy是Python模块用于生成HTML和XML格式的字符串。它的主要作用是提供了一种比原生HTML/XML更加易读和易写的编写方式,通过Python代码来生成HTML或XML代码。
使用MarkupPy,可以在Python中使用不同的对象类型和方法,来动态地生成HTML/XML文件。相比手动编写HTML/XML代码,使用MarkupPy能够使代码更加简洁、易读、易写且易于维护。
目录
1. 设置文件初始信息
2. 插入文本内容
2.1. 插入文本
2.2. 插入无序列表 ul
2.3. 插入有序列表 ol
3. 设置字体属性
3.1. 语法
3.2. 设置对齐方式
3.3. 设置字体大小
3.4. 设置字体颜色
3.5. 设置字体加粗
4. 插入特殊文件
4.1. add 插入图像、音频、视频、Flash文件
4.2. img 插入图片
5. 引入超链接
init 方法的语法
markup.page().init(
title=None #设置文档标题
header=None #设置顶部信息
footer=None #设置页脚信息
encoding=None #定义编码
lang='en' #页面语言,通常是两个字符串,在html模式下显示为
css=None #层叠样式表文件名为字符串或多个css文件的字符串列表
metainfo=None #设置 标签
charset=None #定义字符集的字符串将被插入
doctype=None #文档类型字符串
bodyattrs=None #以{'key':'value',…},它将被添加为元素的属性,如
script=None #字典包含src:类型对,或列表['src1', 'src2',…]在这种情况下,'javascript'被假定为所有
base=None #设置 中的标签
)
代码示例
from MarkupPy import markup
# 准备一个生成文件
file = 'E:\其他\\tmp.html'
# 使用page方法
page = markup.page()
# 使用 init 方法定义文件初始信息
page.init(
title = '文档标题',
header = '========= 文档顶部信息 =========',
footer = '\n----页脚信息'
)
# 换行
page.br()
# 写入文件
with open(file, 'w') as file:
file.write(str(page))
结果
插入单行文本内容
from MarkupPy import markup
# 准备一个生成文件
file = 'E:\其他\\tmp.html'
# 使用page方法
page = markup.page()
# 使用 p 方法插入内容
page.p('这是一行文本内容')
# 写入文件
with open(file, 'w') as file:
file.write(str(page))
插入多行内容(不能直接向p写入多行内容,通过列表或元组引入)
from MarkupPy import markup
# 准备一个生成文件
file = 'E:\其他\\tmp.html'
# 使用page方法
page = markup.page()
# 使用 p 方法插入内容
text = ['这是第1行内容','这是第2行内容']
page.p(text)
page.p(('这是第3行内容','这是第4行内容'))
# 写入文件
with open(file, 'w') as file:
file.write(str(page))
直接插入多行引发异常
page.p('这是第1行内容','这是第2行内容')
from MarkupPy import markup
# 准备一个生成文件
file = 'E:\其他\\tmp.html'
# 使用page方法
page = markup.page()
# 插入正文
page.p('这是一行正文')
'''直接插入列表(默认无序)'''
page.li('这是一个无序列表(默认的)')
page.li('这是一个无序列表(默认的)')
'''指定插入无序列表'''
page.ul()
page.li('这是一个无序列表(手动指定的)')
page.ul.close()
'''插入嵌套无序列表'''
page.ul()
page.li('这是第1个嵌套无序列表')
page.ul()
page.li('这是第2个嵌套无序列表')
page.ul()
page.li('这是第3个嵌套无序列表')
page.ul.close() #关闭无序列表
page.ul.close() #关闭无序列表
page.ul.close() #关闭无序列表
# 写入文件
with open(file, 'w') as file:
file.write(str(page))
from MarkupPy import markup
# 准备一个生成文件
file = 'E:\其他\\tmp.html'
# 使用page方法
page = markup.page()
# 插入正文
page.p('这是一行正文')
'''定义一个简单的有序列表'''
page.ol()
page.li('这是第1个有序列表')
page.li('这是第2个有序列表')
page.ol.close()
'''定义一个多层有序列表'''
page.ol()
page.li('这是第1个嵌套有序列表')
page.ol()
page.li('这是第2个嵌套有序列表')
page.ol()
page.li('这是第3个嵌套有序列表')
page.ol.close() #关闭有序列表
page.ol.close() #关闭有序列表
page.ol.close() #关闭有序列表
# 写入文件
with open(file, 'w') as file:
file.write(str(page))
markup.page().p('字体', style='属性1; 属性2; 属性3...')
示例
from MarkupPy import markup
page = markup.page()
# 设置文件属性
page.p('这是第一行正文,默认属性')
page.p(
'这是第二行正文:颜色(红色)、对齐方式(左对齐)、字体大小(40)、字体加粗',
style='color: red; '
'text-align: left; '
'font-size: 40; '
'font-weight: bold;')
# 将文件写入文件
with open('E:\其他\\tmp.html', 'w') as file:
file.write(str(page))
from MarkupPy import markup
page = markup.page()
# 设置文件对齐方式
page.p('这是一个左对齐文本', style='text-align: left')
page.p('这是一个右对齐文本', style='text-align: right')
page.p('这是一个居中对齐文本', style='text-align: center')
page.p('这是一个水平居中对齐文本', style='text-align: auto')
page.p('这是一个垂直居中对齐文本', style='text-align: middle')
# 将文件写入文件
with open('E:\其他\\tmp.html', 'w') as file:
file.write(str(page))
from MarkupPy import markup
page = markup.page()
# 设置文件对齐方式
page.p('字体大小:50', style='font-size: 50')
page.p('字体大小:40', style='font-size: 40')
page.p('字体大小:30', style='font-size: 30')
page.p('字体大小:20', style='font-size: 20')
# 将文件写入文件
with open('E:\其他\\tmp.html', 'w') as file:
file.write(str(page))
from MarkupPy import markup
page = markup.page()
# 设置文件对齐方式
page.p('字体颜色: 红色', style='color: red')
page.p('字体颜色: 黑色', style='color: black')
page.p('字体颜色: 蓝色', style='color: blue')
# 将文件写入文件
with open('E:\其他\\tmp.html', 'w') as file:
file.write(str(page))
from MarkupPy import markup
page = markup.page()
# 设置文件对齐方式
page.p('字体加粗!', style='font-weight: bold;')
page.p('字体正常!')
# 将文件写入文件
with open('E:\其他\\tmp.html', 'w') as file:
file.write(str(page))
page = markup.page()
# 添加图片,并设置宽度、高度
page.add('')
# 添加音频
page.add('
插入图片示例
from MarkupPy import markup
page = markup.page()
# 添加图片,并设置宽度、高度
page.add('')
# 写入文件
with open('E:\其他\\tmp.html', 'w') as file:
file.write(str(page))
语法
page = markup.page()
page.img(
src #指向图像文件的URL。
alt #图像无法读取,使用一个默认的文本替代。
width #设置宽度(以像素为单位) 。
height #设置高度(以像素为单位) 。
title #提供有关图像内容的额外信息。
class_ #添加样式或设置特定的样式。
style #添加其他自定义样式。
id #指定图像元素的ID。
border #指定图像周围的边框宽度(如果存在)。
usemap #指定一个映射,允许您将图像划分为几个可单击区域。
ismap #允许您使用usemap属性,将图像作为客户端图像映射(CIM)使用。
align #指定图像的水平对齐方式。
)
本地存在图片
from MarkupPy import markup
page = markup.page()
# 定义图片
page.img(
src='E:\其他\cat.jpg', #图片地址
width=800, #设置宽度
height=500, #设置高度
alt='图片没找到,使用该文本替代'
)
# 将文件写入文件
with open('E:\其他\\tmp.html', 'w') as file:
file.write(str(page))
当找不到图片,结果如下:
page.a('这是一个百度链接', href='https://www.baidu.com/')
(点击后自动跳转百度页面)