Python模块MarkupPy & 自定义html报告

这篇具有很好参考价值的文章主要介绍了Python模块MarkupPy & 自定义html报告。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

        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. 引入超链接


 

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

结果

Python模块MarkupPy & 自定义html报告

Python模块MarkupPy & 自定义html报告

 

 

2. 插入文本内容

2.1. 插入文本

插入单行文本内容

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

Python模块MarkupPy & 自定义html报告

 

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

Python模块MarkupPy & 自定义html报告

直接插入多行引发异常

page.p('这是第1行内容','这是第2行内容')

Python模块MarkupPy & 自定义html报告

 

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

 Python模块MarkupPy & 自定义html报告

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

 

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

 Python模块MarkupPy & 自定义html报告

 

 

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

Python模块MarkupPy & 自定义html报告

 

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

Python模块MarkupPy & 自定义html报告

 

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

 Python模块MarkupPy & 自定义html报告

  

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

Python模块MarkupPy & 自定义html报告

  

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

Python模块MarkupPy & 自定义html报告

  

 

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

Python模块MarkupPy & 自定义html报告

 

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

Python模块MarkupPy & 自定义html报告

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

Python模块MarkupPy & 自定义html报告

  

 

5. 引入超链接

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

Python模块MarkupPy & 自定义html报告

(点击后自动跳转百度页面) 文章来源地址https://www.toymoban.com/news/detail-494739.html

到了这里,关于Python模块MarkupPy & 自定义html报告的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 实战项目—使用Python,SqlServer,HTML实现简单登录模块

            近期应老师的要求,要 使用一门编程语言连接数据库制作一个简单的登录模块 ,对于没有做过项目的小白来说,根本无从下手,甚至不能理解怎么跨平台操作。经过近一周的查资料,改代码,磕磕绊绊总算是实现了。         我是用的语言是Python,后端平台在pyc

    2024年02月09日
    浏览(33)
  • 【Python】pyecharts 模块 ① ( ECharts 简介 | pyecharts 简介 | pyecharts 中文网站 | pyecharts 画廊网站 | pyecharts 画 )

    pyecharts 画廊网站 : https://gallery.pyecharts.org/#/ ECharts 官方网站 : https://echarts.apache.org/zh/index.html ECharts 是 百度 提供的 基于 JavaScript 的开源可视化库 , 可以借助该 函数库 绘制 精美的 图表 ; ECharts 支持多种图表类型 , 包括折线图、柱状图、散点图、饼图、雷达图、地图等 , 并且可

    2024年02月16日
    浏览(39)
  • 🔥🔥Java开发者的Python快速进修指南:自定义模块及常用模块

    好的,按照我们平常的惯例,我先来讲一下今天这节课的内容,以及Java和Python在某些方面的相似之处。Python使用import语句来导入包,而Java也是如此。然而,两者之间的区别在于Python没有类路径的概念,它直接使用.py文件的文件名作为导入路径,并将其余的工作交给Python解释

    2024年02月05日
    浏览(72)
  • 【实用 Python 库】使用 XPath 与 lxml 模块在 Python 中高效解析 XML 与 HTML

    在今天的信息时代,数据无处不在,从网络爬虫到数据挖掘,从文本处理到数据分析,我们时常需要从结构化文档中提取有用的信息。XPath 是一门强大的查询语言,它可以在 XML 与 HTML 等文档中定位特定的元素与数据。而在 Python 中, lxml 模块为我们提供了一种高效解析 XML 与

    2024年02月10日
    浏览(43)
  • 建立和使用Python自定义模块:打包+pip安装

    在《建立和使用Python自定义模块》里面,我把自定义的模块拷贝到 site-packages 或 dist-packages 目录。 可是 Ctrl-C + Ctrl-V 总归不是正常的动作,所以我还是想把模块做成安装包,这样便于管理版本。 顺便说一下,之前的模块因为是拷进去的。 虽然pip list和show都能用,但uninstall则

    2024年02月10日
    浏览(57)
  • 解决vscode找不到Python自定义模块,报错No module named ‘xxx‘

    笔者最近在学习python过程中,把在pycharm运行成功的项目放在vscode中,发现一些报错,比如找不到笔者自定义的模块,参考了一些说法与办法,现将解决方法记录于此。 vscode之所以找不到自定义模块,与其 PYTHONPATH 有关。笔者的目录结构如图所示: 经过实践,发现如果do_mys

    2023年04月18日
    浏览(45)
  • 【Python】pyecharts 模块 ⑦ ( 绘制时间线柱状图 | 时间线 Timeline 简介 | 时间线 Timeline 柱状图开发要点 | 播放设置 | 主题设置 | 代码示例 )

    pyecharts 画廊网站 : https://gallery.pyecharts.org/#/ 在该网站可查看官方示例 pyecharts 时间线柱状图 中的 时间线 , 就是与 x 轴平行的一个 时间轴 ; 时间线 的类是 Timeline , 定义在 pyecharts.charts 模块中 ; 在 时间线 上的每个点 , 都代表一个时间点 , 为 时间线 上的 每个 时间点 都提供一

    2024年02月15日
    浏览(36)
  • Selenium:HTML测试报告

    自动化测试过程中,获得用例的执行结果后,需要有具象化、简洁明了的测试结果,比如:用例执行时间、失败用例数、失败的原因等,这时候,就需要用到测试报告。 HTML测试报告是python语言自带的单元测试框架,其扩展的HTMLTestRunner模块可用于生成易于使用的HTML测试报告

    2024年02月02日
    浏览(23)
  • 【pytest】html报告修改和汉化

    Pytest框架可以使用两种测试报告,其中一种就是使用pytest-html插件生成的测试报告,但是报告中有一些信息没有什么用途或者显示的不太好看,还有一些我们想要在报告中展示的信息却没有,最近又有人问我pytest-html生成的报告,能不能汉化?答案是肯定的,那么今天就教大家

    2024年02月05日
    浏览(33)
  • 使用Pytest生成HTML测试报告

    背景 最近开发有关业务场景的功能时,涉及的API接口比较多,需要自己模拟多个业务场景的自动化测试(暂时不涉及性能测试),并且在每次测试完后能够生成一份测试报告。 考虑到日常使用Python自带的UnitTest,所以先从官方文档下手,了解到有相关的TestTextRunner:https://d

    2024年02月15日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包