Python模块MarkupPy与自定义html报告详解

 更新时间:2023年07月31日 15:37:26   作者:〖羊头〗➫ lsy  
MarkupPy是Python模块用于生成HTML和XML格式的字符串,它的主要作用是提供了一种比原生HTML/XML更加易读和易写的编写方式,通过Python代码来生成HTML或XML代码,这篇文章主要介绍了Python模块MarkupPy&自定义html报告的相关知识,需要的朋友可以参考下

简介

        MarkupPy是Python模块用于生成HTML和XML格式的字符串。它的主要作用是提供了一种比原生HTML/XML更加易读和易写的编写方式,通过Python代码来生成HTML或XML代码。

        使用MarkupPy,可以在Python中使用不同的对象类型和方法,来动态地生成HTML/XML文件。相比手动编写HTML/XML代码,使用MarkupPy能够使代码更加简洁、易读、易写且易于维护。

1. 设置文件初始信息

init 方法的语法

markup.page().init(
    title=None      #设置文档标题
    header=None     #设置顶部信息
    footer=None     #设置页脚信息
    encoding=None   #定义编码
    lang='en'       #页面语言,通常是两个字符串,在html模式下显示为<html lang='en'>
    css=None        #层叠样式表文件名为字符串或多个css文件的字符串列表
    metainfo=None   #设置<base href="..."> 标签 <head>
    charset=None    #定义字符集的字符串将被插入<meta http-equiv='Content-Type' content='text/html; charset=myset'>
    doctype=None    #文档类型字符串
    bodyattrs=None  #以{'key':'value',…},它将被添加为<body>元素的属性,如<body key='value'…>
    script=None     #字典包含src:类型对,<script type='text/type' src-src></script>或列表['src1', 'src2',…]在这种情况下,'javascript'被假定为所有
    base=None       #设置<base href="…"> <head>中的标签
)

代码示例

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))

结果

2. 插入文本内容

2.1. 插入文本

插入单行文本内容

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))

插入多行内容(不能直接向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行内容')

2.2. 插入无序列表 ul

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))

由于默认的无序列表无法关闭,所以在第二次指定无序列表时会自动识别为嵌套

2.3. 插入有序列表 ol

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))

3. 设置字体属性

3.1. 语法

 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))

3.2. 设置对齐方式

  • left:左对齐
  • right:右对齐
  • center:居中对齐
  • auto:水平对齐
  • middle:垂直对齐
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))

3.3. 设置字体大小

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))

  3.4. 设置字体颜色

  • black:黑色
  • white:白色
  • red:红色
  • green:绿色
  • blue:蓝色
  • yellow:黄色
  • orange:橙色
  • purple:紫色
  • gray:灰色
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))

3.5. 设置字体加粗

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))

4. 插入特殊文件

4.1. add 插入图像、音频、视频、Flash文件

page = markup.page()
# 添加图片,并设置宽度、高度
page.add('<img src="E:\其他\dog.jpg" alt="狗子图片" width="800" height="500">')
# 添加音频
page.add('<audio src="audio.mp3" controls>')
# 添加视频
page.add('<video src="video.mp4" controls>')
# 添加Flash
page.add('<object type="application/x-shockwave-flash" data="flash.swf">')

插入图片示例

from MarkupPy import markup
page = markup.page()
# 添加图片,并设置宽度、高度
page.add('<img src="E:\其他\dog.jpg" alt="狗子图片" width="800" height="500">')
# 写入文件
with open('E:\其他\\tmp.html', 'w') as file:
    file.write(str(page))

4.2. img 插入图片

语法

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))

 当找不到图片,结果如下:

5. 引入超链接

  • 超链接可以是本地,也可以是网络
page.a('这是一个百度链接', href='https://www.baidu.com/')

(点击后自动跳转百度页面) 

到此这篇关于Python模块MarkupPy &amp; 自定义html报告的文章就介绍到这了,更多相关Python html报告内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • pytorch中如何使用DataLoader对数据集进行批处理的方法

    pytorch中如何使用DataLoader对数据集进行批处理的方法

    这篇文章主要介绍了pytorch中如何使用DataLoader对数据集进行批处理的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Python+Selenium实现自动填写问卷

    Python+Selenium实现自动填写问卷

    这篇文章主要介绍了如何利用Python Selenium实现自动填写问卷功能,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-03-03
  • Python计算信息熵实例

    Python计算信息熵实例

    这篇文章主要介绍了Python计算信息熵实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 如何一键理清大型Python项目依赖树

    如何一键理清大型Python项目依赖树

    这篇文章主要介绍了如何一键理清大型Python项目依赖树,文章围绕主题相关资料展开详细的内容介绍,感兴趣的小伙伴可以参考一下
    2022-06-06
  • 亲手教你用Python打造一款摸鱼倒计时界面

    亲手教你用Python打造一款摸鱼倒计时界面

    前段时间在微博看到一段摸鱼人的倒计时模板,感觉很有意思,于是我用了一个小时的时间写一个页面出来,下面小编把实现过程分享给大家,对Python摸鱼倒计时界面感兴趣的朋友一起看看吧
    2021-12-12
  • python3解析库BeautifulSoup4的安装配置与基本用法

    python3解析库BeautifulSoup4的安装配置与基本用法

    简单来说,BeautifulSoup就是Python的一个HTML或XML的解析库,我们可以用它来方便地从网页中提取数据,下面这篇文章主要给大家介绍了关于python3解析库BeautifulSoup4的安装配置与基本用法的相关资料,需要的朋友可以参考下
    2018-06-06
  • 微信跳一跳小游戏python脚本

    微信跳一跳小游戏python脚本

    这篇文章主要为大家详细介绍了微信跳一跳小程序Python脚本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 提升Python编程水平必不可少的重构技巧

    提升Python编程水平必不可少的重构技巧

    在Python中,编写可读性强且Pythonic的代码是至关重要的,重构技巧是指通过调整代码结构和风格,使其更符合Python的惯例和标准,从而提高代码的可读性、简洁性和可维护性,本文将深入探讨八项重构技巧,帮助您编写更Pythonic的代码
    2024-01-01
  • Linux下升级安装python3.8并配置pip及yum的教程

    Linux下升级安装python3.8并配置pip及yum的教程

    这篇文章主要介绍了Linux下升级安装python3.8并配置pip及yum的教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • python如何查找列表中元素的位置

    python如何查找列表中元素的位置

    这篇文章主要介绍了python如何查找列表中元素的位置,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05

最新评论