跳到主要内容

Python 简介与运维学习路线

Python 是运维自动化领域使用最广泛的脚本语言之一。它的语法接近自然语言,标准库覆盖文件、网络、进程等常见场景,第三方生态(requestsparamikopyyaml 等)成熟,适合快速编写可维护的自动化工具。


为什么运维要学 Python

场景典型用途
日志与配置解析 Nginx/应用日志,读写 JSON/YAML
批量操作SSH 批量执行命令、巡检多台主机
平台对接调用 GitLab、Harbor、K8s API
小型服务用 FastAPI 暴露巡检、Webhook 接口

Shell 适合单行管道与胶水命令;当逻辑超过几十行、需要结构化数据或跨平台复用时,Python 更合适。


第一个可运行示例

在练习目录(参考 教程导读)创建 hello_ops.py

#!/usr/bin/env python3
"""运维脚本模板:打印主机信息与当前时间。"""

import platform
import socket
from datetime import datetime


def main() -> None:
hostname = socket.gethostname()
os_info = platform.platform()
now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")

print(f"主机: {hostname}")
print(f"系统: {os_info}")
print(f"时间: {now}")


if __name__ == "__main__":
main()

运行:

uv run python hello_ops.py

if __name__ == "__main__" 表示「直接执行本文件时才跑 main()」,被其他模块 import 时不会误触发——运维脚本应养成此习惯。


本阶段学习重点

第一阶段聚焦语法基础,目标是可以写出结构清晰的脚本骨架:

  1. 变量与类型 — 字符串、数字、布尔值,以及 f-string 格式化
  2. 列表与元组 — 存放 IP 列表、命令结果序列
  3. 字典与集合 — 主机资产、去重 IP、配置键值
  4. 条件与循环 — 按状态分支、批量遍历主机
  5. 函数 — 封装重复逻辑,便于测试与复用

每章示例都贴近运维场景(主机名、端口、日志级别等),可直接在本地修改运行。


编写与运行习惯

# 用 uv 管理解释器与依赖(推荐)
cd ~/python-for-ops
uv run python your_script.py

# 语法检查(不执行)
uv run python -m py_compile your_script.py
实践建议
  • 脚本顶部写模块 docstring,说明用途与用法
  • 常量用大写(如 DEFAULT_PORT = 22
  • 敏感信息用环境变量,不要硬编码密码
  • 单文件超过 200 行时考虑拆函数或拆模块

下一步

掌握本页概念后,进入 变量与基础数据类型,学习如何在脚本中表示主机 IP、端口、磁盘使用率等运维数据。