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

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.mzph.cn/bicheng/6265.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode】树的DFS(前序、中序、后序)精选10题

目录 前序遍历: 1. 二叉树的所有路径(简单) 2. 求根节点到叶节点数字之和(简单) 3. 路径总和 III(中等) 中序遍历: 1. 递增顺序搜索树(简单) 2. 验证二…

【C++】深入剖析C++11 initializer_list 新的类功能 可变模板参数

目录 一、std::initializer_list 1、std::initializer_list是什么类型 2、std::initializer_list 的应用场景 ①给自定义容器赋值 ② 传递同类型的数据集合 二、新的类功能 1、默认成员函数 2、关键字default 3、关键字delete 三、可变参数模板 一、std::initialize…

Oracle 数据库全面升级为 23ai

从 11g 到 12c 再到 19c,今天,我们迎来了 23ai ! “ Oracle AI Vector Search allows documents, images, and relational data that are stored in mission-critical databases to be easily searched based on their conceptual content Ge…

Visual Studio C++ 的一个简单示例

Visual Studio 项目属性设置: 项目属性→C/C→常规→附加包含目录 C:\Intel\include\iconv\include;项目属性→链接器→常规→附加库目录 C:\Intel\include\iconv\lib;项目属性→链接器→输入→附加依赖项 iconv.lib;提示缺少"iconv.dll",…

架构设计 | 分布式与集群有什么区别

作为一名从业多年的程序员,对于分布式和集群这两种架构有着深入的了解。简单来说,分布式是将一个任务分拆到多个节点共同完成,而集群则是多个节点执行相同的任务。具体来说,分布式和集群的区别体现在以下几个方面: 一…

2024年钉钉群直播回放如何永久保存

工具我已经打包好了,有需要的自己取一下 链接:百度网盘 请输入提取码 提取码:1234 --来自百度网盘超级会员V10的分享 1.首先解压好我给大家准备好的压缩包 2.再把逍遥一仙下载器压缩包也解压一下 3.打开逍遥一仙下载器文件夹里面的M3U8…

开源的贴吧数据查询工具

贴吧数据查询工具 这是一个贴吧数据查询工具,目前仍处于开发阶段。 本地运行 要本地部署这个项目,请 克隆这个仓库并前往项目目录 git clone https://github.com/Dilettante258/tieba-tools.git cd tieba-tools安装依赖 pnpm install运行项目 np…

输入序列太长 gan CGAN

transformer序列长度大导致计算复杂度高 GAN 2. 训练过程 第一阶段:固定「判别器D」,训练「生成器G」。使用一个性能不错的判别器,G不断生成“假数据”,然后给这个D去判断。开始时候,G还很弱,所以很容易被…

Java并发编程面试问题与答案

1. 什么是线程安全? 答: 线程安全意味着多个线程可以同时访问一个类的实例而不引起任何问题或不一致的结果。线程安全的代码会通过同步机制来确保所有线程都能正确地访问共享资源。 2. 解释Java中的synchronized关键字。 答: synchronized…

three.js入门指南

WebGL和Three.js的概念 什么是WebGL WebGL是基于OpenGL ES 2.0的Web标准,可以通过HTML5 Canvas元素作为DOM接口访问。 也就是WebGL是作为OpenGL的网页端入口。它作为一个底层标准,然后我们可以通过JavaScript代码,在网页上实现三维图形的渲…

./build.sh:行1: g++: 未找到命令的错误问题在centos操作系统下面如何解决

目录 g: 未找到命令报错解释g: 未找到命令解决方法 centos操作系统,执行一个bash,bash命令很简单,就是用g编译一个C的程序。报告错误: ./build.sh:行1: g: 未找到命令 g: 未找到命令报错解释 这个错误表明在执行名为 build.sh 的…

【Mac】mac 安装 prometheus 报错 prometheus: prometheus: cannot execute binary file

1、官网下载 Download | Prometheus 这里下载的是prometheus-2.51.2.linux-amd64.tar.gz 2、现象 解压之后启动Prometheus 启动脚本: nohup ./prometheus --config.fileprometheus.yml > prometheus.out 2>&1 & prometheus.out日志文件&#xff…

容器虚拟机 资源 容器自动化构建 动手写docker OCI开放容器标准 云原生技术 k8s

容器虚拟机 容器和虚拟机都是用于资源隔离和管理的技术,它们在资源管理和使用上有所不同。 虚拟机是一种基于软件的模拟技术,可以使得一台物理计算机同时运行多个操作系统和应用程序。虚拟机技术具有资源隔离、灵活性和迁移能力等特点。通过虚拟机,可以实现物理资源的动态…

基于Springboot的校运会管理系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的校运会管理系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构&a…

谈谈TCP Socket中读取数据的函数---read、recv、readv

read函数 read函数从文件描述符(包括TCP Socket)中读取数据,并将读取的数据存储到指定的缓冲区中。原型 ssize_t read(int fd, void *buf, size_t count); -fd:要读取数据的文件描述符,可以是TCP Socket -buf&#xf…

Xamarin.Android项目使用ConstraintLayout约束布局

Xamarin.AndroidX.ConstraintLayout Xamarin.Android.Support.Constraint.Layout Xamarin.AndroidX.ConstraintLayout.Solver Xamarin.AndroidX.DataBinding.ViewBinding Xamarin.AndroidX.Legacy.Support.Core.UI Xamarin.AndroidX.Lifecycle.LiveData ![在这里插入图片描述]…

11个2024年热门的AI编码助手

大家好,人工智能(AI)领域的大型语言模型(LLMs)已经逐渐发展成熟,并且深入到了我们日常的工作当中。在众多AI应用中,编码助手尤为突出,是开发人员编写更高效、准确无误代码的必备辅助…

公司网页设计与制作

创意与专业相结合——公司网页设计与制作 在当今数字化时代,公司网页已经成为企业展示形象和吸引客户的关键渠道之一。因此,一个引人注目且功能强大的网页设计和制作变得至关重要。成功的公司网页设计与制作需要兼具创意与专业,以确保吸引用户…

微服务总览

微服务保护 微服务总览 微服务总览 接入层:反向代理功能,可以将用户域名访问的地址以负载均衡的方式代理到网关地址,并且并发能力非常高,并且会采用主备nginx的方式防止nginx寄了,备份nginx监控主nginx状态&#xff0c…

【非常实战具体】k8s中deployment和StatefulSet构建的pod的区别

在Kubernetes中,Deployment和StatefulSet都是控制器对象,用于管理和扩展应用程序的Pod。它们之间的主要区别在于它们处理Pod的方式和适用的应用程序类型。 以下是Deployment和StatefulSet之间的主要区别: 有状态应用程序 vs 无状态应用程序…