Python PPT合并与拆分 – 详解
目录
使用工具
Python 合并 PPT
合并多个PPT文档
合并每个PPT文档中的特定幻灯片
Python 拆分 PPT
按幻灯片数量拆分
按幻灯片范围拆分
按幻灯片内容拆分
按节 (Section) 拆分
在日常工作或学习中,我们经常需要对PPT文件进行调整,比如将多个PPT合并成一个,方便进行统一演示;或者将一个大型PPT拆分成多个小文件,便于团队协作或分类管理。对于经常需要合并或拆分PPT的人来说,使用代码自动执行此过程可以节省大量时间和精力。本博客将详细介绍如何使用 Python 自动化 PPT 合并和拆分的过程,包括以下内容:
- Python 合并 PPT
- 合并多个PPT文档
- 合并每个PPT文档中的特定幻灯片
- Python 拆分 PPT
- 按幻灯片数量拆分
- 按幻灯片范围拆分
- 按幻灯片内容拆分
- 按节 (Section) 拆分
使用工具
要在Python中实现PPT合并和拆分,可以使用 Spire.Presentation for Python库。该库主要用于在Python中创建、读取、修改和转换PowerPoint文件(包括.ppt和.pptx等格式)。
你可以通过以下命令安装此库:
pip install Spire.Presentation
Python 合并 PPT
合并PPT文件通常包括以下步骤:
- 打开每个待合并的PPT文档。
- 将这些PPT中的幻灯片复制到一个新的或指定的PPT中。
- 保存合并后的PPT文档。
下面将探讨两种常见的合并方法:合并多个PPT文档,以及合并每个PPT文档中的特定幻灯片。
合并多个PPT文档
在将多个 PPT 合并为一个文件时,通常需要按照每个文件中幻灯片的顺序进行排列。以下代码展示了如何创建一个新的 PPT,并依次从给定列表里的每个 PPT 文件中复制幻灯片到新PPT:
from spire.presentation import *# 合并多个 PPT 到一个新的 PPT
def merge_presentations(presentation_files, output_file):# 创建一个新的 PPTmerged_presentation = Presentation()# 移除默认空白幻灯片merged_presentation.Slides.RemoveAt(0)for file in presentation_files:# 加载待合并的 PPTpresentation = Presentation()presentation.LoadFromFile(file) for slide in presentation.Slides:# 将幻灯片依次复制到新 PPT 中merged_presentation.Slides.AppendBySlide(slide)# 保存合并后的 PPTmerged_presentation.SaveToFile(output_file, FileFormat.Pptx2016)# 要合并的 PPT 文件列表
files_to_merge = ["ppt1.pptx", "ppt2.pptx", "ppt3.pptx"]
# 调用合并方法
merge_presentations(files_to_merge, "合并PPT.pptx")
合并每个PPT文档中的特定幻灯片
如果你只想合并每个 PPT 中的特定幻灯片,可以通过指定幻灯片的索引(从0开始)来实现。以下代码允许你通过 slide_indices 参数选择要从每个 PPT 中提取的幻灯片:
from spire.presentation import *# 合并多个 PPT 中指定的幻灯片到一个新的 PPT
def merge_selected_slides(presentation_files, slide_indices, output_file):# 创建一个新的 PPTmerged_presentation = Presentation()# 移除默认空白幻灯片merged_presentation.Slides.RemoveAt(0)for i, file in enumerate(presentation_files):# 加载待合并的 PPTpresentation = Presentation()presentation.LoadFromFile(file) for j, slide in enumerate(presentation.Slides):if j in slide_indices[i]:# 将选定的幻灯片复制到新 PPT 中merged_presentation.Slides.AppendBySlide(slide)# 保存合并后的 PPTmerged_presentation.SaveToFile(output_file, FileFormat.Pptx2016)# 要合并的 PPT 文件列表
files_to_merge = ["ppt1.pptx", "ppt2.pptx"]
# 要合并的幻灯片索引
slide_indices = [[0, 2], [1]]
# 调用合并方法
merge_selected_slides(files_to_merge, slide_indices, "合并幻灯片.pptx")
Python 拆分 PPT
拆分 PPT 文件通常包括以下步骤:
- 加载原始 PPT。
- 选择要提取的幻灯片。
- 将这些幻灯片保存为一个新 PPT。
下面我们将探讨四种常见的拆分方法:按幻灯片数量拆分、按幻灯片范围拆分、按幻灯片内容拆分,以及按节(Section)拆分。
按幻灯片数量拆分
将一个 PPT 拆分为多个小文件,每个文件包含指定数量的幻灯片,是管理大型 PPT 的常见需求。下面的代码允许你指定每个文件包含的幻灯片数量,从而将一个大型PPT文件拆分为多个小型 PPT:
from spire.presentation import *
import os# 按指定的幻灯片数量拆分 PPT
def split_presentation_by_chunks(input_file, slides_per_file, output_directory):# 打开原始 PPTpresentation = Presentation()presentation.LoadFromFile(input_file)# 获取 PPT 中的总幻灯片数total_slides = presentation.Slides.Count# 确保输出目录存在if not os.path.exists(output_directory):os.makedirs(output_directory)# 按指定的块大小(slides_per_file)迭代幻灯片for start in range(0, total_slides, slides_per_file):# 为当前块创建一个新的 PPTsplit_presentation = Presentation()# 移除新 PPT 中的默认空白幻灯片split_presentation.Slides.RemoveAt(0)# 将当前块范围内的幻灯片添加到新 PPTfor i in range(start, min(start + slides_per_file, total_slides)):split_presentation.Slides.AppendBySlide(presentation.Slides[i])# 保存新 PPT 到指定目录,文件名根据当前块的索引生成output_file = os.path.join(output_directory, f"部分_{start // slides_per_file + 1}.pptx")split_presentation.SaveToFile(output_file, FileFormat.Pptx2016)# 调用方法,将 PPT 按每 3 张幻灯片拆分为多个文件,并保存到指定目录
split_presentation_by_chunks("ppt1.pptx", 3, "输出文件夹/")
按幻灯片范围拆分
如果你需要提取特定范围的幻灯片,可以通过指定起始和结束幻灯片索引(从 0 开始)来创建新 PPT 文件。以下代码允许你提取指定范围内的幻灯片:
from spire.presentation import *# 提取PPT中特定范围的幻灯片并保存为新文件
def split_presentation_by_range(input_file, start_slide, end_slide, output_file):# 打开原始PPTpresentation = Presentation()presentation.LoadFromFile(input_file)# 创建一个新PPTsplit_presentation = Presentation()# 移除新PPT中的默认空白幻灯片split_presentation.Slides.RemoveAt(0)# 将指定范围内的幻灯片添加到新PPTfor i in range(start_slide, end_slide + 1):split_presentation.Slides.AppendBySlide(presentation.Slides[i])# 保存新PPTsplit_presentation.SaveToFile(output_file, FileFormat.Pptx2016)# 调用方法,从PPT中提取第3 - 6张幻灯片并保存为新文件
split_presentation_by_range("ppt1.pptx", 2, 5, "按幻灯片范围拆分.pptx")
按幻灯片内容拆分
有时,你可能需要根据特定关键字或短语拆分 PPT。此方法可以提取包含特定内容的幻灯片,便于整理相关信息。以下代码会扫描每张幻灯片中的文本,如果找到指定关键字,则将该幻灯片添加到新 PPT 中:
from spire.presentation import *# 提取包含特定关键字的幻灯片到新PPT中
def split_by_content(input_file, keyword, output_file):# 打开原始PPTpresentation = Presentation()presentation.LoadFromFile(input_file)# 创建一个新的PPTsplit_presentation = Presentation()# 移除新PPT中的默认空白幻灯片split_presentation.Slides.RemoveAt(0)# 遍历原始PPT中的每张幻灯片for slide in presentation.Slides:# 检查幻灯片中的每个形状是否包含文本for shape in slide.Shapes:# 确保形状是AutoShape并具有文本框if isinstance(shape, IAutoShape) and shape.TextFrame is not None:# 检查文本中是否包含关键字if keyword in shape.TextFrame.Text:# 如果找到关键字,将幻灯片添加到新PPT中split_presentation.Slides.AppendBySlide(slide)break # 保存新PPTsplit_presentation.SaveToFile(output_file, FileFormat.Pptx2016)# 调用方法,将包含"科技"关键字的幻灯片提取到新PPT中
split_by_content("示例.pptx", "科技", "按幻灯片内容拆分.pptx")
按节 (Section) 拆分
在某些情况下,PPT 文档被分成多个节,每个节包含相关的幻灯片。按节拆分可以帮助我们将每个节中的幻灯片提取并保存为独立的 PPT 文件。以下代码展示了如何遍历每个节,并将其保存为单独的 PPT 文件:
from spire.presentation import *
import osdef split_presentation_by_section(input_file, output_directory):# 打开原始 PPTpresentation = Presentation()presentation.LoadFromFile(input_file)# 确保输出目录存在if not os.path.exists(output_directory):os.makedirs(output_directory)# 遍历所有节for i in range(presentation.SectionList.Count):# 获取当前节section = presentation.SectionList[i]# 创建新的 PPT new_presentation = Presentation()# 移除默认的空白幻灯片new_presentation.Slides.RemoveAt(0)# 添加节到新PPTnew_section = new_presentation.SectionList.Append(section.Name)# 获取当前节的幻灯片slides = section.GetSlides()# 将每个幻灯片插入到新的节中for slide_index, slide in enumerate(slides):new_section.Insert(slide_index, slide)# 保存新PPToutput_file = f"{output_directory}Section-{i + 1}.pptx"new_presentation.SaveToFile(output_file, FileFormat.Pptx2019) # 调用方法,按节拆分 PPT
split_presentation_by_section("节.pptx", "输出文件夹/")
以上就是使用 Python 实现 PPT 合并和拆分的全部内容,感谢阅读!
相关文章:
Python PPT合并与拆分 – 详解
目录 使用工具 Python 合并 PPT 合并多个PPT文档 合并每个PPT文档中的特定幻灯片 Python 拆分 PPT 按幻灯片数量拆分 按幻灯片范围拆分 按幻灯片内容拆分 按节 (Section) 拆分 在日常工作或学习中,我们经常需要对PPT文件进行调整,比如将多个PPT…...
JSX:JavaScript的XML
简介 JSX是一种JavaScript的语法扩展,它允许你在JavaScript代码中写类似于HTML的标记。它被React框架广泛使用,以声明式地描述UI组件。JSX最终会被编译成JavaScript对象。 为什么使用JSX? 可读性:JSX使得组件的结构更加清晰&am…...
SAP ABAP-日期格式问题 SAP内部错误,反序列化JSON字符串时发生异常 值 20241215 不是根据 ABAP 的 XML 格式的有效日期
SAP ABAP-日期格式问题 SAP内部错误,反序列化JSON字符串时发生异常 值 20241215 不是根据 ABAP 的 XML 格式的有效日期 在SAP内部用 YYYYMMDD没有问题 外部传入参数...
Golang学习笔记_05——延迟调用
Golang学习笔记_02——函数 Golang学习笔记_03——匿名函数和闭包 Golang学习笔记_04——递归函数 文章目录 延迟调用1. 延迟调用1.1 使用场景1.2 示例 2. panic2.1 使用场景2.2 示例 3. recover3.1 使用场景3.2 示例 源码 延迟调用 在Go语言中,延迟调用࿰…...
C++:异常(下)
异常上:C:异常(上)-CSDN博客 一:异常的重新抛出 大家看下面如果不在里面处理一下的话delete没有运行过。 #include<iostream> #include<string> using namespace std; double division(int a, int b) {if…...
从〇开始深度学习(番外)——下载包
从〇开始深度学习(番外)——下载包 文章目录 从〇开始深度学习(番外)——下载包写在前面正文 写在前面 《从〇开始深度学习(番外)》系列主要记录一些细碎知识点和技能,与主线并不冲突。如果主线笔记中用得到番外篇的知识或技能,会…...
云原生是什么
云原生是一种构建和运行应用程序的方法,它充分利用了云计算的优势。它不仅仅是指在云上运行应用程序,更重要的是指应用程序的设计、开发、部署和运维方式都充分考虑了云环境的特性,从而能够更好地利用云的弹性、可扩展性和灵活性。 更详细地…...
构建Modbus TCP写多个寄存器指令详解
构建Modbus TCP写多个寄存器指令详解 在Modbus TCP通信中,构建正确的指令对于实现设备间的数据交换至关重要。本文将详细解释如何构建一个Modbus TCP指令,用于向设备地址为1的从站,从地址200(0xC8)开始,连…...
热更新解决方案3 —— xLua
概述 xLua框架导入和AB包相关准备 xLua导入 其它的导入 C#调用Lua 1.Lua解析器 using System.Collections; using System.Collections.Generic; using UnityEngine; //引用命名空间 using XLua;public class Lesson1_LuaEnv : MonoBehaviour {// Start is called before the fi…...
【Linux】——权限
文章目录 权限的概念创建与删除普通用户普通用户与root用户的切换权限管理权限设置 文件掩码权限的作用粘滞位 权限的概念 在Linux系统中,存在两种主要用户类型,即超级用户root与普通用户。超级用户拥有极高的权限,可以在 Linux 统下执行几乎…...
elasticsearch 使用enrich processor填充数据
文章目录 使用 POST 请求手动插入用户数据1. 创建 Enrich Policy步骤 1.1: 创建 Enrich Policy步骤 1.2: 执行 Enrich Policy 2. 创建 Ingest Pipeline步骤 2.1: 创建 Ingest Pipeline步骤 2.2: 配置 Enrich Processor 参数 3. 使用 Ingest Pipeline步骤 3.1: 使用 Pipeline 进…...
etcd性能调优
性能指标 决定 etcd 性能的关键因素,包括: 延迟 (latency):延迟是完成操作的时间。吞吐量 (throughput):吞吐量是在某个时间期间之内完成操作的总数量。当 etcd 接收并发客户端请求时,通常平均延迟随着总体吞吐量增加…...
docker离线安装、linux 安装docker
之前写过一篇docker的离线安装,现在从头再看繁琐了,服务器换了,既然要重搭一遍就要改进一下了。下面步入正题: 1.下载离线软件包 https://download.docker.com/linux/static/stable/x86_64/docker-20.10.6.tgz 2.下载安装工具包…...
信息安全工程师-选择题考点总结
密码理论知识 基础理论 一个密码系统至少由明文、密文、加密算法、解密算法和密钥五个部分组成,而其安全性是由密钥决定的。 按照密钥特征的不同,密码体制分为:对称密码体制和非对称密码体制。 按照对明文加密方式的不同,密码体制分为:流密码和分组密码。 非对称密码体…...
【C++】四季分类题目分析与讨论
博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯题目说明💯题目代码实现1.我的做法代码示例解析 2. 老师的类C解法代码示例解析 3. 老师的类C解法代码示例解析 4. 老师新增的基于if的解法代码示例解析 &#x…...
mysqlbinglog如何查看进度呢
要查看 MySQL binlog 的进度,通常是指查看 binlog 文件的当前位置,这对于了解复制进度或者进行恢复操作非常重要。以下是一些常用的方法和 SQL 语句来查看 binlog 进度: 查看当前 binlog 文件和位置: SHOW MASTER STATUS;这个命令…...
CSS系列(11)-- 滤镜与混合模式详解
前端技术探索系列:CSS 滤镜与混合模式详解 🎨 致读者:探索视觉效果的艺术 👋 前端开发者们, 今天我们将深入探讨 CSS 滤镜与混合模式,学习如何创建独特的视觉效果。 滤镜效果详解 🚀 基础滤…...
Cesium进阶教程——自定义图形、外观、绘图基础、现有着色器移植至Cesium、ShadowMapping、视频GIS、模型压平、卷帘
基础必看 WEBGL基础(从渲染管线角度解读) 参考路线 http://www.xt3d.online/tutorial/further/article.html 自定义图形 https://blog.csdn.net/m0_55049655/article/details/138908327 https://blog.csdn.net/m0_55049655/article/details/140306837 …...
搭建Tomcat(一)---SocketServerSocket
目录 引入1 引入2--socket 流程 Socket(应用程序之间的通讯保障) 网卡(计算机之间的通讯保障) 端口 端口号 实例 client端 解析 server端 解析 相关方法 问题1:ServerSocket和Socket有什么关系? ServerSocket Soc…...
Sublime Text 64位:前端及全栈开发利器
本文还有配套的精品资源,点击获取 简介:Sublime Text作为一款高效的文本编辑器,在前端网页开发领域受到广泛青睐,特别是其64位版本在处理大型项目和高内存需求的场景下表现出色。编辑器内置Emmet插件,提供代码高亮、…...
CNCF云原生生态版图-分类指南(一)- 观测和分析
CNCF云原生生态版图-分类指南(一)- 观测和分析 CNCF云原生生态版图-分类指南一、观测和分析(Observability and Analysis)(一)可观测性(Observablility)1. 是什么?2. 解决…...
Ubuntu本地快速搭建web小游戏网站,公网用户远程访问【内网穿透】
文章目录 前言1. 本地环境服务搭建2. 局域网测试访问3. 内网穿透3.1 ubuntu本地安装cpolar内网穿透3.2 创建隧道3.3 测试公网访问4. 配置固定二级子域名4.1 保留一个二级子域名4.2 配置二级子域名4.3 测试访问公网固定二级子域名前言 网:我们通常说的是互联网;站:可以理解成…...
VMware ubuntu12.04怎么设置静态IP联网
记得刚开始学习嵌入式就是从ubuntu12.04的环境开始学习的C语言,当时没有弄清楚怎么设置静态IP联网,现在写一篇文章。 1.首先,关闭ubuntu的网络; 2.电脑使用的是wifi,将VMware桥接到该网卡上; 3.在虚拟机设置里面选择桥…...
Qt WORD/PDF(一)使用 QtPdfium库实现 PDF 预览
文章目录 一、简介二、下载 QtPdfium三、加载 QtPdfium 动态库四、Demo 使用 关于QT Widget 其它文章请点击这里: QT Widget 姊妹篇: Qt WORD/PDF(一)使用 QtPdfium库实现 PDF 操作 Qt WORD/PDF(二)使用 QtPdfium库实现…...
UE5 C++ Subsystem 和 多线程
一.Subsystem先做一个简单的介绍,其实可以去看大钊的文章有一篇专门讲这个的。 GamePlay框架基础上的一个增强功能,属于GamePlay架构的范围。Subsystems是一套可以定义自动实例化和释放的类的框架。这个框架允许你从5类里选择一个来定义子类(只能在C定义…...
23.DDD与微服务
学习视频来源:DDD独家秘籍视频合集 https://space.bilibili.com/24690212/channel/collectiondetail?sid1940048&ctype0 文章目录 DDD与微服务的关系1. DDD可以用微服务实现,也可以不用微服务实现2. DDD是微服务拆分的必须参考项之一3. 微服务架构…...
vue3+ant design vue实现日期选择器不展示清除按钮
1、代码:只需设置:allowClear"false"即可 <a-date-pickerv-model:value"value1":disabledDate"disabledDate"change"queryRate":allowClear"false" />const disabledDate (current: Dayjs) > {// 获取…...
Amazon Bedrock与AWS服务的无缝集成,如何打造智能化应用
在AI和大数据飞速发展的今天,Amazon Bedrock作为AWS的一项新兴服务,正逐渐成为开发者和企业拥抱生成式AI的核心工具。那么,Amazon Bedrock与AWS其他服务结合,究竟能够带来哪些强大的应用场景呢?今天九河云就来和大家探…...
Rust之抽空学习系列(四)—— 编程通用概念(下)
Rust之抽空学习系列(四)—— 编程通用概念(下) 1、函数 函数用来对功能逻辑进行封装,能够增强复用、提高代码的可读 以下是函数的主要组成部分: 名称参数返回类型函数体 1.1、函数名称 在Rust中&…...
【Apache paimon】-- 集成 hive3.1.3 异常
目录 1、场景再现 Step1:在 hive cli beeline 执行创建 hive paimon 表 Step2:使用 insert into 写入数据 Step3:抛出异常 2、原因分析 Step1:在 yarn resource manager 作业界面查询 hive sql mr job 的 yarn log Step2:搜索job 使用的 zstd jar 版本 Step3:定…...
SpringCloud微服务实战系列:01让SpringCloud项目在你机器上运行起来
目录 项目选型 项目安装-本地运行起来 软件安装: 项目启动: 总结&答疑 项目选型 软件开发,基本上都不会从0开始,一般都是在其他项目或者组件的基础上进行整合优化迭代,站在巨人肩膀上才能看得更远,…...
分布式锁【Redis场景分布式锁篇】
文章目录 1.Redis分布式锁2.分布式锁其它方案1.主动轮询型1.MySQL分布式锁2.Redis分布式锁 2.监听回调型1.Etcd2.Zookeeper 总结 1.Redis分布式锁 锁通常用来控制共享资源,比如一个进程内有多个线程竞争一个数据的使用权限,解决方式之一就是加锁。分布式…...
BGP协议
BGP(Border Gateway Protocol,边界网关协议)是一种用于在不同网络之间传输可达性信息的路由协议。它是互联网上使用的主要协议之一,用于连接不同的自治系统(AS),即由单个实体控。边界网关协议_百…...
iframe webview打开外链内嵌video标签导致视频无法全屏展示
iframe webview打开外链内嵌video标签导致视频无法全屏展示 解决方法iframe 添加属性webview 添加属性 解决方法 iframe 添加属性 <iframe style"width: 100%;height: 100vh;" src"http://xxx.xxx........" allowfullscreen"true" w…...
学习日志024--opencv中处理轮廓的函数
目录 前言 一、 梯度处理的sobel算子函数 功能 参数 返回值 代码演示 二、梯度处理拉普拉斯算子 功能 参数 返回值 代码演示 三、Canny算子 功能 参数 返回值 代码演示 四、findContours函数与drawContours函数 功能 参数 返回值 代码演示 …...
【从零开始入门unity游戏开发之——C#篇05】转义字符、@处理多行文本或者不使用转义字符、随机数
文章目录 一、转义字符1、什么是转义字符?2、常见的转义字符3、总结 二、使用处理多行文本或者不使用转义字符1、多行字符串2、不使用转义字符 三、随机数1、Random.Next()生成随机整数示例:生成一个随机整数生成指定范围内的随机整数 2、Random.NextSin…...
PHP获取指定日期的下周日至下周六的日期(下周几的日期)
PHP获取指定日期的下周日至下周六的日期(下周几的日期) 在PHP中,可以使用strtotime()函数来获取指定日期的下周日至下周六的日期。 // 周天 sunday // 周一 monday // 周二 tuesday // 周三 wednesday // 周四 thursday // 周五 friday // …...
超越飞书钉钉:探索高效内部知识库平替方案与应用
在团队协作日益频繁的今天,飞书与钉钉作为两大主流的企业沟通与协作平台,广受企业青睐。然而,随着企业规模的扩大和知识的累积,单纯的沟通与协作已难以满足企业对知识管理与传承的需求。因此,寻找一款能够高效整合内部…...
3D相框案例讲解(详细)
前言 通过现阶段的学习,我们已经掌握了HTML,CSS和JS部分的相关知识点,现在让我们通过一篇案例,来巩固我们近期所学的知识点。 详细视频讲解戳这里 任务一 了解目标案例样式 1.1了解案例 3D相框 1.2 分析案例 首先我们看到一个…...
一、基于langchain使用Qwen搭建金融RAG问答机器人--技术准备
一,LangChain框架介绍 LangChain 框架是一个开源工具,通过为各种 LLM 提供通用接口来简化应用程序的开发流程,帮助开发者自由构建 LLM应用。 LangChain封装了很多组件,通过这些组件的组合可以构建多种类型的RAG应用。开发者可以直接将私有数…...
2024年全球安全光幕装置行业总体规模、主要企业国内外市场占有率及排名
根据研究团队调研统计,2023年全球安全光幕装置市场销售额达到了46亿元,预计2030年将达到70亿元,年复合增长率(CAGR)为6.4%(2024-2030)。中国市场在过去几年变化较快,2023年市场规模为…...
uniapp跨端适配—条件编译
在uniapp中,跨端适配是通过条件编译实现的。条件编译允许开发者根据不同的平台(如iOS、Android、微信小程序、百度小程序等)编写不同的代码。这样可以确保每个平台上的应用都能得到最优的性能和用户体验。 以下是uniapp中条件编译的基本语法…...
HTML、CSS表格的斜表头样式设置title 画对角线
我里面有用到layui框架的影响,实际根据你自己的框架来小调下就可以 效果如下 上代码 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-wi…...
自动驾驶控制与规划——Project 2: 车辆横向控制
目录 零、任务介绍一、环境配置二、算法三、代码实现四、效果展示 零、任务介绍 补全src/ros-bridge/carla_shenlan_projects/carla_shenlan_stanley_pid_controller/src/stanley_controller.cpp中的TODO部分。 一、环境配置 上一次作业中没有配置docker使用gpu,…...
Docker的初识
目录 1. 容器技术发展史1.1 Jail 时代1.2 云时代1.3 云原生时代1.3.1 Google & Docker 竞争1.3.2 k8s 成为云原生事实标准 2. 虚拟化和容器化的概念2.1 什么是虚拟化、容器化2.2 为什么要虚拟化、容器化?2.3 虚拟化实现方式2.3.1 应用程序执行环境分层2.3.2 虚拟…...
R-Studio Technician,无网络负担地进行远程数据分析和数据恢复任务
对于数据恢复技术人员和技术支持团队来说,时间就是金钱。这不仅包括您在客户机器上花费的时间 - 还包括您往返公司办公室的时间,这可能会带来巨大的不便,特别是如果客户位于其他省市。电话支持通常不适用于需要数小时才能完成的复杂任务&…...
Couchbase的OLAP支持情况
Couchbase 是一个高性能的 NoSQL 数据库,主要用于在线事务处理(OLTP)场景,但它也提供了一些功能来支持在线分析处理(OLAP)需求。以下是 Couchbase 对 OLAP 支持的几个方面: 1. N1QL 查询语言 …...
路径规划之启发式算法之十六:和声搜索算法(Harmony Search, HS)
和声搜索算法(Harmony Search, HS)是一种新兴的启发式全局搜索算法,是一种模拟音乐家即兴演奏过程的群体智能优化算法。这种算法由Zong Woo Geem等人在2001年提出,灵感来源于音乐家在寻找和声时的创造性思维过程。HS算法通过模拟音乐家演奏音乐时的选择过程来寻找问题的最优…...
服务器---centos上安装docker并使用docker配置jenkins
要在 Docker 中安装 Jenkins 并进行管理,可以按照以下步骤操作: 1. 安装 Docker 首先,确保你的系统已经安装了 Docker。如果尚未安装,可以使用以下命令进行安装: 在 CentOS 上安装 Docker sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://…...
面试题整理1---正向代理和反向代理的含义及异同
面试题整理1---正向代理和反向代理的含义及异同 1. 正向代理 (Forward Proxy)1.1 正向代理定义:1.2 正向代理的工作流程:1.3 正向代理的应用场景: 2. 反向代理 (Reverse Proxy)2.1 反向代理的定义:2.2 反向代理的工作流程…...