课程大纲
第1天
模块1:面向Unix用户的Python介绍
主题
为什么选择Python进行脚本编写和自动化
• Python在脚本编写中的优势
• 在系统管理和DevOps中使用Python
Bash与Python的比较
• 变量
• 控制流(if、循环)
• 文件操作
• 执行系统命令
Python脚本的结构
• 运行Python脚本
• 使用解释器
• 命令行参数
• argparse简介
练习
练习1——将简单的Bash脚本转换为Python
Bash脚本:
• 列出目录中的文件
• 按扩展名过滤
• 显示统计信息
学员将用Python重写该脚本。
练习2——带命令行参数的Python脚本
创建一个Python脚本:
• 从命令行接收参数
• 处理文件
• 显示结构化结果
模块2:文件和目录操作
主题
在Python中处理文件系统
• 读写文件
• 导航目录
• 处理路径
使用pathlib模块
• 路径管理
• 文件操作
替换Unix工具
• grep
• find
• sed
• awk
使用Python实现
练习
练习1——文件系统扫描
Python脚本:
• 搜索大文件
• 识别旧文件
• 生成报告
练习2——处理配置文件
Python脚本:
• 读取文本文件
• 提取相关信息
• 生成统计信息
第2天
模块3:日志处理和文本操作
主题
在Python中处理文本
• 字符串操作
• 数据过滤和转换
正则表达式(regex)
• 模式识别
• 日志解析
替换Shell管道
示例:
grep | awk | sed | sort
使用Python实现
练习
练习1——日志文件分析
Python脚本:
• 读取系统日志
• 识别错误
• 计算错误频率
练习2——将Shell管道转换为Python
将复杂的Bash管道转换为Python脚本
模块4:自动化系统命令
主题
在Python中执行Shell命令
• subprocess模块
• 捕获输出
• 错误处理
自动化管理任务
• 运行系统命令
• 与cron作业集成
• 为重复任务编写脚本
进程管理
• 监控进程
• 简单的并行执行
练习
练习1——运行系统命令的Python脚本
脚本:
• 运行Unix命令
• 捕获输出
• 生成报告
练习2——服务监控
Python脚本:
• 检查服务状态
• 收集信息
• 显示结果
第3天
模块5:高级自动化与外部服务交互
主题
在Python中使用API
• HTTP请求介绍
• 认证和令牌
• 处理JSON响应
Python用于DevOps自动化
• 从外部服务收集数据
• 与现有工具集成
• 基础设施脚本编写
练习
练习1——使用API的Python脚本
脚本:
• 从API收集数据
• 处理信息
• 生成报告
练习2——自动化数据收集
Python脚本:
• 收集系统信息
• 生成JSON或CSV报告
模块6:构建用于管理的CLI工具
主题
Python项目结构
• 代码组织
• 函数复用
• 模块和包
创建CLI工具
• 命令行参数
• 结构化输出
• 错误处理
最终练习
学员将构建一个用于自动化任务的Python CLI工具:
• 分析日志文件
• 识别错误
• 生成统计信息
• 可从命令行运行
课程成果
课程结束后,学员将能够:
• 将Shell脚本转换为Python脚本
• 使用Python自动化系统任务
• 处理日志和复杂数据
• 构建用于Unix系统管理的CLI工具
要求
先决条件
- 具备Unix/Linux操作系统的基础知识
- 熟悉命令行使用(Shell/Bash)
- 有编写简单Shell脚本的经验(如循环、条件、文件操作)
- 对系统管理概念有一般了解者优先
- 无需具备Python经验
目标受众
- 在Unix/Linux环境中工作的系统管理员
- 希望提升自动化能力的DevOps工程师
- 使用Shell脚本处理日常任务的工程师和技术专家
- 对从Bash过渡到Python感兴趣的IT专业人士
- 希望在Unix环境中更高效自动化工作流的开发人员
客户评论 (2)
与内容相关的实践练习确实有助于更好地理解每个主题。此外,以讲座开始课程并继续进行实践练习的方式很好,有助于将练习与之前介绍的讲座内容联系起来。
Nazeera Mohamad - Ministry of Science, Technology and Innovation
课程 - Introduction to Data Science and AI using Python
机器翻译
示例/练习完美适应我们的领域
Luc - CS Group
课程 - Scaling Data Analysis with Python and Dask
机器翻译