AI编程实战:用 AI 做一个命令行工具

写在前面
前 13 篇攒下的技能,从这篇开始集中变现。第一个完整项目做个"日志分析器":统计日志文件里 INFO / WARNING / ERROR 各级别的数量。
一、需求
用 Python 写一个日志分析工具。
- 目标:统计日志文件中各级别(INFO/WARNING/ERROR/DEBUG)出现的次数
- 约束:只用标准库;支持命令行参数传入文件路径
- 输出:控制台打印每个级别及数量,按数量从高到低排序
- 验收:对给定的样例日志文件运行后输出正确统计
二、让 AI 生成并迭代
把需求发给 AI,要求"先给思路再写代码"。第一版可能不含排序或容错,把差异反馈回去,两三轮后得到完整实现。
三、核心实现(示例)
import re
import sys
from collections import Counter
LEVELS = ("DEBUG", "INFO", "WARNING", "ERROR")
def analyze_log(path: str) -> Counter:
counter = Counter()
pattern = re.compile(r"\b(" + "|".join(LEVELS) + r")\b")
with open(path, encoding="utf-8") as f:
for line in f:
counter.update(pattern.findall(line))
return counter
if __name__ == "__main__":
result = analyze_log(sys.argv[1])
for level, count in result.most_common():
print(f"{level}: {count}")
四、测试与收尾
- 写一个样例日志文件,验证输出;
- 用第 7 篇的方法让 AI 补 pytest 测试;
- 用第 8 篇的方法生成 README;
git init并提交。
提示:工具类项目最适合练手——需求清晰、边界可控、做完立刻能用。这个类型的项目多做几个,AI 协作的手感就出来了。
小结与下篇预告
这篇独立完成了一个命令行工具。下一篇《AI编程实战:给开源项目补测试》,把你的技能用到真实开源项目上。
小作业
给日志分析器加一个功能(比如按 --level ERROR 只统计某级别,或支持多个文件),走完整流程:需求→生成→测试→文档→提交。

2610

被折叠的 条评论
为什么被折叠?



