复盘日:恭喜你完成了第二周的学习!今天是巩固和总结的日子。我们将回顾过去 6 天学到的所有 Python 知识,整理成速查表,并记录遇到的问题和解决方案。今天不只是复习,而是要彻底理解 “如何将 Python 知识应用到实际运维场景”、“如何设计可维护的 Python 脚本” 以及 “如何为下一阶段的 FastAPI 学习做好准备”。
复盘内容 | Review
Python 核心点回顾
Python 核心点回顾
Day 08 - 基础补漏:
- 虚拟环境:
python3 -m venv .venv、source .venv/bin/activate - 依赖管理:
pip install package、pip freeze > requirements.txt - 类型注解:
def func(param: type) -> return_type: - f-string:
f"Hello {name}"(推荐使用) - 上下文管理器:
with open()自动关闭文件 - 列表推导式:
[x for x in list if condition]
- 字典操作:
get()、setdefault()、update() - 字典推导式:
{k: v for k, v in data} - 装饰器:
@decorator扩展函数功能 - 异常处理:
try-except-finally、不要写裸露的except: - 上下文管理器:
@contextmanager自动资源管理
- JSON:
json.load()、json.dump()、json.loads()、json.dumps() - YAML:
yaml.safe_load()、yaml.dump()(需要安装 PyYAML) - 正则表达式:
re.search()、re.findall()、re.sub() - 常用模式:
\d+(数字)、\w+(单词)、.*?(非贪婪匹配)
subprocess.run():执行命令并等待完成- 参数:
capture_output=True、text=True、check=True、timeout=秒数 - 安全规范:使用列表传参,避免 Shell 注入
subprocess.Popen():实时处理输出(高级用法)
- PyMySQL:轻量级 MySQL 客户端
- 连接管理:使用上下文管理器确保连接关闭
- 参数化查询:
cursor.execute(sql, (param,))防止 SQL 注入 - 事务控制:
commit()提交、rollback()回滚
- 项目整合:文件处理 + 正则 + subprocess + 数据库
- 模块化设计:功能拆分成独立函数
- 配置管理:集中管理配置
- 错误处理:完善的异常处理机制
复盘产出 | Output
1. 第二阶段速查表
Python 环境管理
文件处理
正则表达式
subprocess
数据库操作
装饰器
2. 常见问题与解决方案
虚拟环境问题
虚拟环境问题
问题:
python3: command not found解决方案:- macOS:
brew install python3 - Linux:
sudo apt install python3 python3-pip python3-venv - Windows:使用 WSL 或安装 Python 官方版本
which python 还是系统路径解决方案:检查 .venv/bin/activate 文件是否存在,重新创建虚拟环境文件处理问题
文件处理问题
问题:
UnicodeDecodeError 读取文件时编码错误解决方案:指定编码 open("file.txt", "r", encoding="utf-8")问题:YAML 文件解析失败解决方案:确保安装了 PyYAML:pip install pyyaml,使用 yaml.safe_load() 而不是 yaml.load()subprocess 问题
subprocess 问题
问题:
FileNotFoundError 命令不存在解决方案:检查命令路径,使用完整路径或确保命令在 PATH 中问题:命令执行超时解决方案:增加 timeout 参数或优化命令逻辑数据库问题
数据库问题
问题:
pymysql.err.OperationalError: (2003, "Can't connect to MySQL server")解决方案:- 检查 MySQL 服务是否运行
- 检查连接配置(host、port、user、password)
- 检查防火墙设置
with db_cursor() as cursor: 确保连接关闭3. 项目重构示例
重构示例:Day 08 的语法复习脚本
重构示例:Day 08 的语法复习脚本
原始版本:优化版本(应用 Week 2 学到的知识):改进点:
- 添加了类型注解,提高代码可读性
- 添加了文档字符串,说明函数用途
- 添加了参数验证,提高健壮性
- 使用装饰器扩展功能
🏆 阶段性总结
恭喜你!你已经完成了 Project Team 基础训练营的第二阶段。到这里你已经掌握了:
- ✅ Python 虚拟环境和依赖管理
- ✅ Python 核心语法(类型注解、f-string、列表推导式)
- ✅ 数据结构操作(字典、列表推导式)
- ✅ 装饰器和异常处理
- ✅ 文件处理(JSON、YAML、CSV)
- ✅ 正则表达式
- ✅ subprocess 系统调用
- ✅ PyMySQL 数据库操作
- ✅ 综合项目开发能力
- FastAPI 框架基础
- RESTful API 设计
- 数据库 ORM(SQLAlchemy)
- API 文档自动生成
- 中间件和依赖注入
学习建议
巩固基础
- 复习本周的所有代码示例
- 完成所有拓展任务
- 整理个人知识库和速查表
- 记录遇到的问题和解决方案
实践项目
- 尝试重构之前的 Shell 脚本为 Python
- 开发自己的监控工具
- 练习数据库操作和文件处理
- 熟悉装饰器和异常处理
上一天: 综合实战
Day 13 | 第二阶段综合实战
下一周: FastAPI 框架
第 03 周 | FastAPI 框架实战