用 Python 的 Template 类生成文件报告

介绍很多时候,我发现自己需要进行生成报告、输出文件或字符串的任务。它们或多或少都会遵循某种模式,通常这些模式是如此相似,以至于我们希望拥有一个可以重用并直接输入数据的模板。幸运的是,Py...
摘要由CSDN通过智能技术生成

介绍

很多时候,我发现自己需要进行生成报告、输出文件或字符串的任务。它们或多或少都会遵循某种模式,通常这些模式是如此相似,以至于我们希望拥有一个可以重用并直接输入数据的模板。幸运的是,Python提供了一个可以帮助我们的类:string.Template

在本文中,您将学习如何利用此类根据当前使用的数据生成输出文件,以及如何以相同的方式操作字符串。因此,本文不仅使用您在日常工作中可能遇到的示例,还为您提供了许多您可能知道的实际工具,并且该工具将此类用于生成报告文件。下面让我们开始吧!

注意:本文基于Python 3.9.0(CPython)。您可以在GitHub(https://github.com/DahlitzFlorian/generate-file-reports-using-pythons-template-class)上找到整篇文章中使用的代码示例。

在看一个示例之前,让我们花一些时间来看看使用string.Template相对于其他解决方案的优势。

1、无需其他依赖项,开箱即用,因此不需要使用pip install命令安装。

2、它是轻量级的,当然诸如Jinja2Mako之类的模板引擎已被广泛使用。但是,在本文介绍的方案中,这些功能是过分地夸大了。

3、关注点分离:可以使用模板文件将其移动到外部位置,而不是直接在代码中嵌入字符串操作和报告生成。如果您要更改报告的结构或设计,则可以交换模板文件,而无需更改代码。

由于这些优点,一些知名的第三方库和工具正在使用它。Wily是一个例子,在2018年底,Wily的发明者和维护者Anthony Shaw希望支持HTML作为wily生成的报告的输出格式。

示例:生成最佳图书的报告

在讨论了使用Python的内置string.Template类背后的动机之后,我们将看一下第一个实际示例。想象一下,您正在一家公司工作,该公司发布有关过去一年出版的最佳书籍的年度报告。2020年是特殊的一年,因为除了您的年度报告之外,您还会发布有史以来最好的书籍清单。

在这一点上,我们不在乎数据来自何处或哪些书籍是该列表的一部分。为了简单起见,我们假设有一个名为data.json的JSON文件,其中包含作者姓名和书名的映射,如下所示。

{
    "Dale Carnegie": "How 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值