幻仿编程 Udemy 付费课程,独家中英字幕 + 配套资料!
限时1折特惠!课程永久访问权,随时随地学习!
Python 用于 DevOps:掌握真实世界的自动化
掌握Python for DevOps和CI/CD,包括23个多小时、35个多测验和25个多编码实验室,以构建和交付DevOps工具
讲师:Lauro Fialho Müller
你将学到什么
- 从变量和数据结构到函数和类,全面掌握Python基础知识。
- 利用生成器和装饰器等高级特性,编写优雅且内存高效的代码。
- 通过try/except块和自定义异常实现稳健的错误处理,构建抗故障的脚本。
- 在应用程序中集成结构化的JSON日志,提升可观测性与故障排查能力。
- 自信地解析、处理和生成JSON、YAML和CSV等关键数据格式。
- 使用现代化的pathlib和shutil库自动化文件与目录管理。
- 通过subprocess模块安全地执行外部系统命令并捕获其输出。
- 使用requests库发送GET/POST请求并处理身份验证,实现REST API交互的自动化。
- 构建健壮的API客户端,支持超时处理和基于指数退避的重试逻辑。
- 使用强大的pytest框架编写和运行专业的单元测试。
- 利用Fixture和参数化编写清晰、可重用且数据驱动的测试。
- 通过创建和配置模拟对象,隔离依赖项并测试复杂交互。
- 使用Python模块和包对代码进行专业结构化,提升可维护性。
- 使用pyproject.toml和入口点构建和发布可安装的命令行工具。
课程要求
- 熟悉任何脚本或编程语言中的基本编程概念(变量、循环、函数)。
- 具备使用命令行终端导航目录和执行命令的基本经验。
- 对常见的DevOps概念(如API、CI/CD和基础设施自动化)有高层次的理解。
- 能够安装计算机上的软件,如Python本身及使用pip安装第三方包。
- 有志于超越简单的Shell脚本,构建健壮、可维护且适用于生产环境的自动化工具。
- 具备使用git克隆课程仓库和切换不同分支的基本熟悉度。
课程描述
欢迎来到专为DevOps打造的终极Python课程!你是否已准备好超越简单的脚本,开始构建强大、可靠且适用于生产环境的自动化工具?本课程专为DevOps工程师、SRE或系统管理员精心设计,旨在传授你在基础设施自动化和DevOps工作流优化中所需的核心Python技能。课程内容高度实用,包含丰富的测验和编程实验,让你在课堂讲解后立即动手实践。
为何学习DevOps中的Python?
Python已成为基础设施自动化的通用语言,这绝非偶然。掌握Python是每位现代DevOps专业人士的关键一步。原因如下:
- 自动化一切: 停止重复的手动操作!借助Python,你可以自动化与任何REST API的交互、管理云资源、更新配置、编排复杂的部署流水线。本课程将教你编写能为你代劳的脚本。
- 成为更灵活、更有价值的工程师: Python是连接不同系统的“粘合剂”。通过学习如何脚本化你的CI/CD工具、监控平台和云服务之间的交互,你将成为解决复杂集成难题的首选专家,成为团队中不可或缺的一员。
- 编写健壮且可维护的工具: 一个简单的脚本或许能运行一次,但专业的自动化必须可靠。本课程超越基础知识,教你如何编写包含恰当错误处理、日志记录和自动化测试的代码,确保你构建的工具值得信赖且易于维护。
- 提升职业前景: Python自动化技能是科技行业最受欢迎的技能之一。将这些技能写入简历,将大幅提升你获得新职位、晋升和更高薪资机会的竞争力。
投资本课程,你不仅是在学习一门语言,更是在掌握一套强大的工具,用以高效、可靠地解决真实的DevOps问题。
为何选择本课程?
本课程从零开始,以DevOps为核心,融合了核心Python概念与基础设施环境中的实际应用。
- 实践导向、专注DevOps: 我们不会构建Web应用或从事数据科学。每一节课程、每一个示例和练习,都完全围绕DevOps场景设计。你将处理文件、API、系统命令以及JSON、YAML等日常使用的数据格式。
- 实践、实践、再实践: 我们不仅停留在理论探讨,而是深入动手实践所有内容。除了视频课程外,本课程还包含大量测验和编程实验,帮助你牢固掌握每一个知识点!
- 超越基础: 这不仅是一门“学习Python语法”的课程。我们将深入讲解高级而强大的功能,如用于内存高效数据处理的生成器、用于添加可复用功能的装饰器、用于安全资源管理的上下文管理器、用于生产级日志记录的日志系统等!你将学会编写不仅功能完备,更优雅高效的代码。
- 聚焦生产就绪代码: 学习构建可在生产环境中信赖的自动化系统。我们专门安排章节讲解关键主题,如结构化日志、高级异常处理、实现带指数退避的重试机制,以及最重要的——使用pytest进行自动化测试。
本课程将为你带来哪些技能?
在学习本课程的过程中,你将获得一套全面而宝贵的能力,包括:
- 精通Python基础: 打下坚实的Python语法、数据结构(列表、字典、集合)、控制流、函数和面向对象编程基础。
- 运用高级Python特性: 利用生成器构建高效的数据管道,使用装饰器添加日志、重试等横切关注点,让代码更简洁。
- 编写健壮的生产级脚本: 实施结构化日志以增强可观测性,设计稳健的异常处理逻辑,使自动化系统能优雅地处理失败。
- 通过自动化测试保障可靠性: 精通pytest编写高效单元测试。你将掌握从基本断言、Fixture到高级技巧如参数化和使用模拟对象隔离依赖项的全部内容。
- 自动化系统与文件操作: 使用现代化的pathlib自信管理文件系统,用subprocess模块安全运行外部命令。
- 与任何REST API交互: 掌握requests库,发送GET/POST请求,处理多种认证方式(基本认证、Token),构建能处理超时和重试的健壮客户端。
- 处理关键数据格式: 流畅解析、处理和生成推动DevOps的核心数据格式:JSON、YAML和CSV。
- 构建与打包专业工具: 使用模块和包结构化Python项目,并利用pyproject.toml创建和发布可安装的命令行工具。
- 为Python项目构建完整的CI/CD流水线: 利用GitHub Actions构建完全自动化的CI/CD流水线,将你的Python库发布到Python包索引(PyPI)。
准备好提升你的能力,飞跃你的职业发展吧!让我们一起构建强大的DevOps自动化系统!
本课程适合谁:
- 希望掌握Python以构建强大可靠自动化工具的DevOps工程师、SRE和云工程师。
- 希望从Shell脚本进阶,使用Python构建可维护、生产级工具的系统管理员。
- 在DevOps文化中工作的软件开发人员,需要自动化测试、部署和基础设施管理。
- 希望利用Python和pytest的强大功能构建稳健测试套件的测试自动化工程师。
- 希望投身DevOps、云计算或站点可靠性工程领域的IT从业者和学生,需掌握核心实用技能。
- 任何希望超越简单脚本编写,学习如何构建专业、经过充分测试并可打包的Python应用程序的人。
| 共 197 节课程 • 总时长 20 小时 48 分钟 | |
| 第一章 欢迎与介绍 | |
| 1. 欢迎来到课程! | 5分37秒 |
| 2. 如何充分利用这门课程 | 5分52秒 |
| 3. 对齐期望 | 3分19秒 |
| 第二章 设置和运行Python | |
| 1. 创建我们的第一个虚拟环境 | 3分24秒 |
| 2. 管理多个虚拟环境 | 6分37秒 |
| 3. Python 交互式解释器 | 5分39秒 |
| 4. 编写和运行Python文件 | 1分47秒 |
| 5. 使用JupyterLab进行交互式代码执行 | 8分 |
| 6. 章节概述 | 53秒 |
| 7. 为什么选择Python进行DevOps | 2分18秒 |
| 8. 安装和配置Python | 3分53秒 |
| 9. 使用pyenv管理多个Python安装 | 2分38秒 |
| 10. 虚拟环境的概述 | 4分40秒 |
| 第三章 Python 基础知识 | |
| 1. 章节概述 | 1分20秒 |
| 2. 变量 | 4分40秒 |
| 3. 评论 | 3分15秒 |
| 4. 数字 | 7分32秒 |
| 5. 字符串 | 12分41秒 |
| 6. 动手实践 – 磁盘使用量计算 | 3分33秒 |
| 7. 列表介绍 | 7分18秒 |
| 8. 修改列表内容 | 9分51秒 |
| 9. 动手实践 – 练习使用列表 | 2分20秒 |
| 10. 元组 | 6分1秒 |
| 11. 集合介绍 | 5分54秒 |
| 12. 集合运算 | 6分1秒 |
| 13. 动手实践 – 练习使用集合 | 4分30秒 |
| 14. 区分列表、元组和集合 | 2分36秒 |
| 15. 字典简介 | 12分12秒 |
| 16. 字典操作 | 5分39秒 |
| 17. 动手实践 – 练习使用字典 | 5分56秒 |
| 18. 条件代码执行简介 | 3分29秒 |
| 19. 如果 – elif – 否则语句 | 8分47秒 |
| 20. 保护子句 | 5分3秒 |
| 21. For 和 while 循环 | 6分53秒 |
| 22. 中断和继续语句 | 3分59秒 |
| 23. 列表推导式介绍 | 4分1秒 |
| 24. 列表、集合和字典推导式 | 7分53秒 |
| 25. 函数介绍 | 2分5秒 |
| 26. 定义函数和返回值 | 5分9秒 |
| 27. 参数和参数 | 8分19秒 |
| 28. 文档字符串 | 4分11秒 |
| 29. 动手实践 – 练习使用函数 | 7分40秒 |
| 30. 范围函数 | 7分53秒 |
| 31. 枚举和压缩函数 | 7分1秒 |
| 32. 类的介绍 | 5分40秒 |
| 33. 类方法 | 4分59秒 |
| 34. 继承 | 7分38秒 |
| 35. args和kwargs语法的介绍 | 6分10秒 |
| 36. 在args和kwargs参数中按顺序排列 | 8分32秒 |
| 37. 调用函数 – args 和 kwargs | 6分5秒 |
| 38. Lambda函数 | 3分18秒 |
| 39. 使用lambda排序集合 | 3分17秒 |
| 40. 使用lambda转换集合 | 2分33秒 |
| 41. 使用 lambda 过滤集合 | 2分3秒 |
| 第四章 生成器与装饰器 | |
| 1. 章节概述 | 1分32秒 |
| 2. 迭代协议 | 5分18秒 |
| 3. 迭代器和可迭代对象代码示例 | 9分18秒 |
| 4. 生成器语法 | 6分15秒 |
| 5. yield语句 | 5分24秒 |
| 6. 暂停和恢复生成器执行 | 3分47秒 |
| 7. 状态在生成器中 | 5分36秒 |
| 8. 生成器耗尽 | 1分58秒 |
| 9. 返回 vs. 产生语句 | 5分6秒 |
| 10. 动手实践 – 练习使用生成器 | 8分12秒 |
| 11. 编写懒惰管道 | 18分38秒 |
| 12. 函数作为一等公民 | 6分31秒 |
| 13. 工厂函数 | 2分50秒 |
| 14. 数据结构中的函数 | 3分8秒 |
| 15. 装饰器介绍 | 7分4秒 |
| 16. 装饰器中的参数 | 8分54秒 |
| 17. 处理装饰器中的返回值 | 3分44秒 |
| 18. 处理装饰器中的异常 | 3分19秒 |
| 19. functools.wraps 装饰器 | 4分45秒 |
| 20. 堆叠装饰器 | 6分3秒 |
| 第五章 错误处理和上下文管理器 | |
| 1. 章节介绍 | 1分37秒 |
| 2. 异常语法 | 3分57秒 |
| 3. 异常思维 | 4分23秒 |
| 4. 检查内置异常 | 7分11秒 |
| 5. 操作系统和KeyError异常 | 8分8秒 |
| 6. 索引、值和TypeError异常 | 5分57秒 |
| 7. 属性异常和ImportError异常 | 5分32秒 |
| 8. raise 语句 | 5分6秒 |
| 9. 引发异常 | 5分56秒 |
| 10. 定义自定义异常 | 3分7秒 |
| 11. 为自定义异常添加上下文 | 9分 |
| 12. 手动上下文清理 | 5分21秒 |
| 13. 上下文管理器协议 | 4分9秒 |
| 14. 上下文管理器和with语句 | 7分5秒 |
| 15. 定义自定义上下文管理器 | 5分57秒 |
| 16. 上下文管理器装饰器 | 9分56秒 |
| 第六章 运维日志记录 | |
| 1. 按时间轮换日志文件 | 8分47秒 |
| 2. 结构化日志记录使用JSON | 11分29秒 |
| 3. 结构化日志中的额外字段和异常 | 4分56秒 |
| 4. 使用INI文件进行日志配置 | 12分40秒 |
| 5. 使用字典进行日志配置 | 7分32秒 |
| 6. 使用JSON文件进行日志配置 | 6分 |
| 7. 动态日志配置 | 7分40秒 |
| 8. 章节介绍 | 1分33秒 |
| 9. 为什么记录日志 | 7分57秒 |
| 10. 日志结构介绍 | 6分37秒 |
| 11. 动手实践 – 练习日志结构 | 13分24秒 |
| 12. 日志级别 | 15分29秒 |
| 13. 文件处理器 | 4分52秒 |
| 14. 按大小轮转日志文件 | 8分18秒 |
| 第七章 文件、正则表达式和序列化 | |
| 1. 章节介绍 | 1分48秒 |
| 2. 路径对象 | 6分4秒 |
| 3. 列出目录内容,读取和写入文件 | 6分44秒 |
| 4. 读写模式深入探讨 | 8分28秒 |
| 5. 深入探讨读写方法 | 11分30秒 |
| 6. 正则表达式 – 简介 和 基础知识 | 13分3秒 |
| 7. 正则表达式 – 量词,贪婪和非贪婪搜索 | 8分51秒 |
| 8. 正则表达式 – 捕获组 | 8分31秒 |
| 9. 正则表达式 – 非捕获组 | 3分40秒 |
| 10. 正则表达式 – 反向引用 | 5分58秒 |
| 11. 正则表达式 – findall() 和 finditer() | 6分21秒 |
| 12. 正则表达式 – 字符串分割 | 10分51秒 |
| 13. 正则表达式 – 字符串替换 | 12分28秒 |
| 14. JSON反序列化 | 9分5秒 |
| 15. JSON序列化 | 5分4秒 |
| 16. YAML操作简介 | 7分58秒 |
| 17. YAML序列化和反序列化 | 8分 |
| 18. 读取CSV文件 | 8分46秒 |
| 19. 写入CSV文件 | 7分57秒 |
| 第八章 系统交互与自动化 | |
| 1. 章节介绍 | 1分15秒 |
| 2. 访问环境变量 | 8分10秒 |
| 3. 设置和删除环境变量 | 5分19秒 |
| 4. Dotenv 文件 | 6分42秒 |
| 5. 列出目录内容 | 5分36秒 |
| 6. 创建目录 | 3分39秒 |
| 7. 删除文件和目录 | 4分21秒 |
| 8. 复制文件和目录 | 4分43秒 |
| 9. 移动文件和目录 | 8分22秒 |
| 10. 临时文件 | 9分57秒 |
| 11. 临时目录 | 4分48秒 |
| 12. 子进程介绍 | 10分31秒 |
| 13. 处理子进程错误 | 5分43秒 |
| 14. 处理过期超时 | 3分27秒 |
| 第九章 使用requests与API交互 | |
| 1. 章节介绍 | 1分6秒 |
| 2. 创建 GitHub 个人访问令牌 (PAT) | 2分7秒 |
| 3. 获取请求 | 7分43秒 |
| 4. 查询参数 | 8分2秒 |
| 5. POST请求 | 6分27秒 |
| 6. HTTP状态码 | 5分19秒 |
| 7. 提升HTTP状态 | 4分38秒 |
| 8. 基本认证 | 7分2秒 |
| 9. 基于令牌的身份验证 | 6分30秒 |
| 10. 处理超时 | 3分46秒 |
| 11. 重试 – 简单策略 | 6分32秒 |
| 12. 重试 – 带抖动的指数退避 | 10分48秒 |
| 第十章 静态类型和类型提示 | |
| 1. 章节介绍 | 1分31秒 |
| 2. [对于 VS Code 用户] – 我在 VS Code 中使用的 Pylance 配置值 | 1分49秒 |
| 3. 类型提示介绍 | 10分53秒 |
| 4. 类型提示 – 常见陷阱 | 5分1秒 |
| 5. 输入列表 | 4分46秒 |
| 6. 输入字典、元组、集合 | 5分35秒 |
| 7. 联合类型和可选类型 | 10分6秒 |
| 8. 类型字典 | 5分15秒 |
| 9. 打字课程 | 9分50秒 |
| 10. 前向类型引用 | 4分25秒 |
| 11. 泛型介绍 | 7分58秒 |
| 12. 约束类型变量 | 4分18秒 |
| 13. 有界类型变量 | 8分2秒 |
| 14. 泛型 和 类 | 8分25秒 |
| 15. 类型装饰器 | 8分1秒 |
| 16. 改进装饰器类型 | 4分29秒 |
| 17. 输入生成器 | 5分9秒 |
| 18. 输入可迭代对象和迭代器 | 3分8秒 |
| 第11章 使用Pytest进行自动化测试 | |
| 1. 章节介绍 | 1分35秒 |
| 2. Pytest中的断言 | 5分13秒 |
| 3. 动手实践 – 测试驱动实现 | 20分18秒 |
| 4. 检查故障输出和浮点数近似 | 3分33秒 |
| 5. 测试异常 | 3分2秒 |
| 6. 将测试标记为预期失败 | 2分6秒 |
| 7. pytest 配置 | 4分50秒 |
| 8. 跳过测试 | 6分10秒 |
| 9. 指出预期失败 | 3分36秒 |
| 10. 自定义标记 | 6分25秒 |
| 11. 简介:Fixtures | 10分44秒 |
| 12. 配件范围 | 8分5秒 |
| 13. 在 conftest.py 中共享固件 | 4分52秒 |
| 14. 参数化介绍 | 8分38秒 |
| 15. 使用param函数 | 10分56秒 |
| 16. 模拟基础 | 8分17秒 |
| 17. 修补装饰器和mocker固定装置 | 6分7秒 |
| 18. 配置模拟对象 | 11分49秒 |
| 19. 设置异常和列表作为副作用 | 8分16秒 |
| 20. 使用 callable 作为副作用 | 8分39秒 |
| 21. 模拟 vs. MockMagic模拟 | 5分48秒 |
| 第12章 构建Python项目结构 | |
| 1. 章节介绍 | 1分47秒 |
| 2. Python 模块 | 7分39秒 |
| 3. Python 包 | 7分18秒 |
| 4. 子包介绍 | 8分12秒 |
| 5. 绝对导入与相对导入 | 8分55秒 |
| 6. 常见的导入错误及其解决方法 | 7分 |
| 7. 运行Python模块 | 12分17秒 |
| 8. pyproject.toml 文件 | 7分31秒 |
| 9. 在多文件项目中添加测试 | 9分30秒 |
| 1. 关于课程更新与获取 如何获取本站课程? ○ 免费获取方式:在本站签到、评论、发布文章等可获取积分,通过积分购买课程。 ○ 付费获取方式:购买本站【月度会员】或【永久会员】。 课程购买后是否支持更新? ○ 是的,所有课程均提供免费更新服务。 我们致力于为您提供持续的学习支持。 如何获取更新? ○ 单独购买的课程: 您可在“个人中心”随时查看购买记录及最新下载链接,轻松获取免费更新。 ○ 永久会员: 您可在相关页面直接查看最新下载地址,随时免费获取更新。 ○ 非永久会员(重要提示):通过会员权限下载的课程,在“个人中心”可能不显示具体订单记录。 因此,会员到期后,您将无法通过“个人中心”查看最新下载链接。 ① 解决方案建议:续费会员: 恢复会员权限后,即可再次查看所有最新下载链接。 ② 妥善保存下载链接: 我们强烈建议您在会员有效期内,保存好本站分享的课程下载链接。通常,课程更新内容会直接补充到原有分享链接中。 |
| 2. 关于课程资料 课程下载后资料是否齐全? ○ 绝大部分课程资料齐全。 我们尽力确保您获得完整的学习资源。 ○ 少数情况说明: 极少数课程可能存在资料缺失情况。针对 Udemy 课程,资料形式多样,请知悉:本地文件(随视频下载): 此类课件通常随视频一并提供,下载即得。 ① 本地文件(含链接): 课件文件中会提供资料下载链接,您需自行访问链接下载。此类资料通常也可获取。 ② 在线平台存储(如 GitHub): 讲师会在视频中说明资料获取方式(如访问特定平台),请您按指引自行下载。 ③ Udemy 平台内资料: 部分资料需登录您在 Udemy 购买的账号才能查看。此类资料本站无法提供,除非您自行在 Udemy 平台购买该课程。 |
| 3. 关于课程字幕 是否提供中英文双字幕?原本无字幕的课程是否支持? ○ 是的,本站下载的所有课程均提供中英文双字幕,包括 Udemy 原本无任何字幕的课程。 我们致力于提升您的学习体验。 Udemy 字幕现状与本站服务: ○ Udemy 绝大多数课程本身不提供任何字幕。在少数提供字幕的课程中,也几乎不提供中文字幕。 本站字幕服务流程: ① Udemy 有字幕: 我们会将其翻译成中文字幕,与英文字幕一同提供。 ② Udemy 无字幕: 我们会通过技术手段识别生成英文字幕,再翻译成中文字幕,一同提供给您。 字幕服务重要说明(请您理解): ○ 翻译精度: 字幕翻译采用谷歌翻译引擎完成,虽不及人工翻译精准,但足以保障您正常学习理解。 ○ 若您仍然觉得字幕精度较低: 可联系站长针对性润色字幕(该服务仅限本站会员)。 |
| 4. 关于视频存储与使用 视频存储位置与观看/下载方式? 本站所有课程视频均存储于网盘平台。 您支持在线观看: 可在网盘内直接播放学习。 您支持下载: 可将视频下载至本地,使用播放器播放,更灵活便捷。 主要存储网盘:百度网盘 视频格式与加密情况? 本站所有课程视频均以 MP4 或 MKV 通用格式提供。 视频文件不加密,您可自由分享(请遵守相关法律法规)。 播放建议: 使用本地播放器(如 PotPlayer)播放时,可同时加载中英文字幕文件,学习体验更佳。您可参考我们提供的《PotPlayer 挂载中英双字幕教程》。 |
| 5. 关于售后支持与退款政策 遇到问题如何联系? 无论您在购买前或购买后遇到任何疑问,都欢迎随时联系站长。 我们将竭诚为您服务。 退款政策说明: 原则: 由于虚拟商品(课程、资料等)具有可复制性,一旦购买成功并完成下载,原则上不支持退款。 请您在购买前仔细阅读课程介绍、资料说明及本条款,确认符合您的需求。 如有不确定之处,欢迎先行咨询站长。 |
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END



























暂无评论内容