运维工程师用 AI 写 Python 自动化脚本:零基础也能用的办公自动化
对负责服务器、发布流水线、监控告警和故障处理的运维或 SRE来说,告警多、脚本杂、变更文档和故障复盘写起来费时,夜间排障时更需要快速理清思路。很多重复性的整理工作,用一个几十行的脚本就能一键完成,而 AI 让不会编程的人也能写出这样的脚本。本文给出运维工程师用 AI 写 Python 自动化脚本的一套可直接照抄的做法:描述输入文件、处理规则和期望输出,让 AI 写带注释的脚本和运行说明,先在副本上测试。
使用场景
运维工程师每周都要做一件重复的事:把多个“告警记录”表格合并,按主机组汇总,再另存为一份新表格。手工复制粘贴半小时,还容易漏行。尤其当技术负责人同时还在等“完成两台数据库服务器的磁盘扩容”的结果时,能把这部分工作提速,就能腾出精力处理更重要的判断。
推荐工具
可以用 ChatGPT、Claude、DeepSeek、Kimi 等对话助手写脚本;如果安装了 VS Code,可以配合 GitHub Copilot、通义灵码等编程助手边写边改。
案例:一次完整的使用过程(虚构)
先看一个虚构但很典型的例子。小吴是一位负责服务器、发布流水线、监控告警和故障处理的运维或 SRE,这周手头的事情包括“处理 2 起磁盘告警和 1 起证书过期隐患”和“推进日志集中采集”,偏偏这时又需要写 Python 自动化脚本。小吴没有从空白页开始,而是先花几分钟把相关材料整理好,按下面的提示词交给 AI,拿到初稿后对照原始资料逐条核对,再补上自己的判断。整个过程中,小吴特别留意不把服务器 IP、账号口令、证书私钥和内部拓扑放进对话里。
操作步骤
- 说明输入:文件格式、位置、列名
- 说明处理规则:合并、筛选、汇总、改名等
- 让 AI 写带中文注释的脚本和运行步骤
- 先复制一份数据做测试,确认结果正确再正式使用
可复用的提示词
提示词的关键是把背景、要求和输出格式写清楚:
【背景】当前的难点是:机房网络计划维护,可能影响夜间批处理任务。
我是运维工程师,不太懂编程,请帮我写一个 Python 脚本。
输入:文件夹 data/ 中有多个 Excel 文件(.xlsx),每个文件结构相同,列为:主机组、告警日期、持续分钟、告警级别
处理:
1. 合并所有文件
2. 删除完全重复的行
3. 按“主机组”汇总“持续分钟”的合计和记录数
输出:生成“汇总结果.xlsx”,包含两个工作表:明细、汇总
要求:
- 每一步写中文注释
- 告诉我需要安装什么,怎么运行
- 如果某个文件缺少某列,打印提示并跳过该文件
示例输出(仅供示意)
以下是一段示意性的输出,内容基于虚构的工作记录,仅用于展示格式和思路,实际结果会因工具和输入不同而变化:
import glob import pandas as pd cols = ["主机组", "告警日期", "持续分钟", "告警级别"] frames = [] for path in glob.glob("data/*.xlsx"): df = pd.read_excel(path) if not set(cols).issubset(df.columns): print(f"跳过 {path}:缺少必要的列") continue frames.append(df[cols]) detail = pd.concat(frames).drop_duplicates() # 合并并去重 summary = detail.groupby("主机组")["持续分钟"].agg(["sum", "count"]) with pd.ExcelWriter("汇总结果.xlsx") as w: detail.to_excel(w, sheet_name="明细", index=False) summary.to_excel(w, sheet_name="汇总") print("完成!")运行步骤:安装 Python 后执行
pip install pandas openpyxl,在脚本所在文件夹运行python merge.py。
如果结果不理想,不要急着换工具,先在提示词里补充技术负责人的具体要求或给出一个参考样例,再生成一次。
实用技巧与常见坑
- 第一次运行一定用数据副本,防止脚本覆盖或删除原文件。
- 报错时把完整错误信息贴回给 AI,通常一两轮就能解决。
给运维工程师的特别提醒
排障时把日志片段、时间线和最近变更一起提供,让 AI 帮你列排查顺序。同时要记住:涉及删除、重启、改权限的命令,必须先确认影响范围并做好回滚准备,不能照抄执行。
很多运维工程师还会这样做:让 AI 写的命令先在测试环境执行,并要求它说明每个参数的作用。
变体用法
- 批量生成文档:根据表格内容批量生成通知或证明(注意核对)。
- 网页数据整理:在遵守网站规则的前提下整理公开数据。