Python根据预设txt生成“你画我猜”题目PPT(素拓活动小工具)

devtools/2024/9/24 5:29:30/

Python根据预设txt生成“你画我猜”题目PPT(素拓活动小工具)


场景来源

  • 去年单位内部的一次素拓活动,分工负责策划设置其中的“你画我猜”环节,网络上搜集到题目文字后,想着如何快速做成对应一页一页的PPT。
  • 第一时间想到几乎无所不能的python,便开始搜寻相关第三方库,于是找到了:python-pptx

前置准备

  • 当然是要事先安装相关的第三方库:pip install python-pptx
  • 一个放有题目的txt文本文件,每一行都是一道题目。
  • 图片1

代码思路

  1. 新建一个Presentation对象,设置好幻灯片版式

     from pptx import Presentation# 创建一个新的 Presentation 对象prs = Presentation()# 获取一个包含主标题和副标题的幻灯片版式title_slide_layout = prs.slide_layouts[0]
    
  2. 打开输入的txt文件,分行读入,生成对应的PPT页面

     # 打开输入的txt文件with open("题目.txt", 'r', encoding='utf-8') as f_in:# 读取所有行lines = f_in.readlines()# 遍历每一行for line in lines:# 将幻灯片加入到PPT中slide = prs.slides.add_slide(title_slide_layout)# 获取主标题title = slide.placeholders[0]# 设置主标题文字为每一行的题目文字title.text = line.strip()
    
  3. 将Presentation对象保存为PPT文件,结束

     # 保存创建的PPT文件prs.save('你画我猜.pptx')
    

完成效果

  • 每一个题目都作为一张独立的PPT,方便素拓活动中一页一页的过,给参赛队伍答题。
  • 图片2

后注

  • 以上为最简单的大白色背景、默认字体,如果对PPT的版式、背景有更高要求,可对python-pptx库进一步研究使用

  • 参考资料:Python-pptx教程之一从零开始生成PPT文件


http://www.ppmy.cn/devtools/35766.html

相关文章

Mac升级go版本某种错误情况处理

当看到 "go1.21 is keg-only, which means it was not symlinked into /opt/homebrew" 这样的信息时,意味着Homebrew没有自动为你创建指向新版本Go的符号链接(symlink),因为这是一个旧版本Go的替代版本。 Homebrew中的…

设计模式之传输对象模式

在编程江湖里,有一种模式,它如同数据的“特快专递”,穿梭于系统间,保证信息的快速准确送达,它就是——传输对象模式(Data Transfer Object, DTO)。这不仅仅是数据的搬运工,更是提升系…

Altman确认:神秘Chatbot非GPT-4.5,OpenAI搜索引擎即将上线

🚀 Altman确认:神秘Chatbot非GPT-4.5,OpenAI搜索引擎即将上线 摘要:近日,Sam Altman在哈佛大学的演讲中确认,引发广泛猜测的gpt2-chatbot并非OpenAI即将发布的下一代模型GPT-4.5。与此同时,关于…

重识来伊份:抢滩首店经济,休闲零食品牌的“面子”和“里子”

前不久,苹果静安零售店的首秀频频登上热搜。 这背后,不仅仅因为它是中国大陆最大的苹果旗舰店,还在于它的设计融入了时尚又古典的上海街区,吸引了众多市民拍照打卡。今年3月至5月,上海会持续举办“首发上海”春季系列…

Junit 测试中如何对异常进行断言

本文对在 Junit 测试中如何对异常进行断言的几种方法进行说明。 使用 Junit 5 如果你使用 Junit 5 的话,你可以直接使用 assertThrows 方法来对异常进行断言。 代码如下: Exception exception assertThrows(NumberFormatException.class, () -> {n…

金融业开源软件应用 评估规范

金融业开源软件应用 评估规范 1 范围 本文件规定了金融机构在应用开源软件时的评估要求,对开源软件的引入、维护和退出提出了实现 要求、评估方法和判定准则。 本文件适用于金融机构对应用的开源软件进行评估。 2 规范性引用文件 下列文件中的内容通过文中的规范…

21_Scala集合_可变数组ArrayBuffer

文章目录 ArrayBuffer1.创建可变数组ArrayBuffer2.增加数据3.删除数据4.修改数据5.查询数据Appendix ArrayBuffer ArrayBuffer可变数组–感觉优点类似于Java的ArrayList 1.创建可变数组ArrayBuffer –请注意下面的mutable import scala.collection.mutable.ArrayBuffer //m…

一种制造高效GaN基VCSEL的新方法

​日本研究团队在腔长调控领域取得了新的突破,他们开发出了一种精确的GaN基VCSEL腔长控制方法。这种VCSEL由两层半导体镜——分布式布拉格反射器(DBR)构成,中间隔着有源GaN半导体层,形成了一个光学谐振腔。这个谐振腔的…