Python 技能树(云原生预备 / 运维自动化方向)26-06-04(为期3-4个月)
Python 技能树(云原生预备 / 运维自动化方向)
0. 核心原则
- 优先掌握能直接写脚本的知识点
- 每个知识点都要能产出可运行的代码片段
- 后续补上工程证据规范(README、测试、日志)
第一层:语言基础(必须扎实)
0. Python 运行环境
- 版本区别(只用 Python 3)
- 交互式与脚本运行
- 默认 UTF-8 编码
1. 变量与运算符
- 命名规则(下划线命名,PEP8)
- 多变量赋值、交换赋值
- 算术运算符
+ - * / // % ** - 比较运算符
> < >= <= == != - 赋值运算符
+= -=等 - 逻辑运算符
and or not - 成员运算符
in / not in - 身份运算符
is / is not(了解与==区别)
2. 标准数据类型
- Number:int, float, bool(complex 不学)
- String:定义、不可变、切片、转义、原始字符串
r'' - List:可变、增删改查、排序、列表推导式
- Tuple:不可变、单元素逗号、索引
- Dictionary:key-value、增删改查、遍历
- Set:去重、基本运算(交集并集差集)
- None:空值判断
3. 字符串专项
- 基础运算:
+拼接、*重复 - 内置方法:
split,strip,upper/lower,replace,join,find,startswith - 格式化输出:f-string 为主(
f"Hello {name}"),了解%和.format()
4. 流程控制
-
if / elif / else - 三元表达式
a if cond else b -
while循环 -
for循环(遍历可迭代对象) -
break,continue,pass
5. 函数与作用域
- 定义函数
def,返回值return - 参数:位置、关键字、默认值
- 不定长参数
*args(元组)、**kwargs(字典) - 变量作用域:局部、全局(
global) - 文档注释(docstring)
6. 模块与包
- 导入方式
import,from ... import ... -
__name__ == '__main__'入口判断 - 自定义模块、
__init__.py概念
7. 文件操作
- 打开文件
open(路径, 模式, encoding) - 模式:
r/w/a/b/r+ - 读取:
read(),readline(),readlines() - 写入:
write() - 关闭文件
close() -
with上下文管理器(自动关闭)
8. 异常处理
-
try / except / else / finally - 捕获具体异常类型
-
raise主动抛出异常
9. 面向对象(基础)
- 类与实例
class,__init__,self - 实例属性、实例方法
- 简单封装(单下划线
_约定) - (可选)继承基本语法,了解
super() - (不要求)多态、抽象类
第二层:脚本工具能力(运维自动化必备)
10. 正则表达式(基础)
-
re.search/re.match/re.findall - 分组
group() - 常用模式:
\d数字、\w单词、\s空白、.任意字符 - 数量词
+ * ? {n,m}
11. 时间处理
-
datetime模块:datetime.now,datetime.strptime,datetime.strftime -
time模块:time.sleep,time.time - 计算耗时(开始结束时间差)
12. 路径与系统接口
-
pathlib:Path,cwd,mkdir,glob,read_text,write_text -
os模块:os.getcwd,os.listdir,os.path(或直接用 pathlib) -
sys:sys.argv命令行参数,sys.exit退出码
13. 命令行参数解析
-
argparse(推荐)或typer(更简洁) - 必需参数、可选参数、标志位
-
--help自动生成
14. 日志记录
-
logging模块:basicConfig,debug/info/warning/error - 输出到文件和控制台
- 不同级别的作用
15. 数据格式处理
-
json:json.loads,json.dumps, 读写.json文件 -
csv:读取和写入 CSV 文件 - (可选)
yaml基本加载(需安装 PyYAML)
16. 执行系统命令
-
subprocess模块:subprocess.run() - 获取 stdout, stderr, returncode
- 安全使用(避免 shell=True 注入风险)
17. HTTP 请求(requests)
-
requests.get(),requests.post() - 设置
timeout,headers,params - 异常处理:
ConnectionError,Timeout,HTTPError - 重试策略基础(结合循环或
urllib3.Retry)
18. 虚拟环境与依赖管理
-
venv创建隔离环境 - 激活/退出虚拟环境
-
pip install安装包 -
pip freeze > requirements.txt -
pip install -r requirements.txt
19. 测试基础
-
pytest基本用法 - 断言
assert - 运行测试,查看结果
20. 迭代器与生成器(概念级)
- 可迭代对象(能用
for的都是) - 生成器:惰性求值,用
yield写简单生成器(可选) - 理解“不要一次性读大文件”思想
21. 多线程与并发(基础)
-
threading.Thread:start(),join() - 线程锁
Lock防止资源竞争(简单了解) - 更推荐:
concurrent.futures.ThreadPoolExecutor实现 I/O 并发 - 注意:多线程适合网络请求、文件读写等 I/O 密集型任务
第三层:运维自动化项目能力(综合运用)
22. 典型项目清单(至少完成2-3个)
- 日志分析 CLI(读文件,正则提取,统计错误率,输出 JSON/CSV)
- HTTP 健康检查工具(并发检查 URL 列表,超时重试,记录日志)
- 文件批处理工具(批量重命名、移动、按日期归档)
- 配置检查工具(读取 YAML/JSON,验证必要字段)
- 端口/服务检测工具(
socket连接测试,进程是否存在)
23. 脚本工程规范(逐步建立)
- 每个项目有
README.md(目的、用法、示例、局限性) - 使用
argparse或typer提供友好命令行接口 - 日志输出到文件,保留
run.log - 关键函数有
pytest测试(至少 3 个用例) - 异常处理返回非零退出码(
sys.exit(1)) - 依赖写在
requirements.txt,使用venv隔离
附录:不建议学习的内容(现阶段)
- complex 复数
- 深拷贝细节(遇到再查)
- 装饰器高级用法(看懂简单
@即可) - 继承与多态深度设计
- 爬虫框架(Scrapy)
- 数据分析库(numpy, pandas)
- GUI(tkinter, PyQt)
- asyncio 异步编程(后续按需)
使用说明:可将此清单作为学习检查表,每完成一项打勾。第二层的 10–21 是对原清单的重要补充,务必掌握。完成第二层后,即可尝试第三层的项目,积累证据。
评论
问答助学
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
