《Automate the Boring Stuff with Python》: 用 Python 终结重复劳动
-
《Automate the Boring Stuff with Python》: 用 Python 终结重复劳动
目录如果要选一本书来回答"零基础该怎么学 Python"这个问题,Al Sweigart 的《Automate the Boring Stuff with Python》(中文译名《Python 编程快速上手——让繁琐工作自动化》)大概是全世界被推荐次数最多的那一本。它不教你成为计算机科学家,而是教你成为一个能让计算机替自己干活的人。
这本书的核心理念极其务实:你不需要成为一名"程序员"才能从编程中获益。无论你是办公室白领、科研工作者、市场营销人员还是行政管理者,只要你的工作中存在重复性的电脑操作——重命名文件、整理电子表格、发送邮件、下载数据——Python 都能帮你在几分钟内完成原本需要几小时的手工劳动。
全系列累计销量已突破 50 万册。 配套的 Udemy 在线视频课程注册学员超过 116 万人,评分 4.6/5(基于近 12 万条评价),长期位列 Reddit 社区推荐榜第一名。2025 年 5 月出版的第三版(3rd Edition)是该书迄今最全面的一次更新,新增 4 个完整章节和 16 个全新编程项目,总页数从第二版的 592 页扩展到 672 页。
1. 这本书到底在教什么?
🎯 一句话定位
为"完全没有编程经验"的人编写,让你学会用 Python 自动化日常工作中那些令人窒息的重复性任务。
这不是一本传统意义上的"计算机科学教材"。它不会用大量篇幅去讲算法复杂度或设计模式,而是聚焦于一个极其实际的目标:让你尽快写出能解决真实问题的脚本。 从第一章开始,书中的每一行代码、每一个示例都直指这个目标。
📐 全书结构
全书分为两大部分:
- Part I(第 1~8 章):Python 编程基础 — 从零开始教授 Python 语言的核心概念:变量、数据类型、流程控制、函数、调试、列表、字典和字符串处理。即使你从未写过一行代码,也能跟上节奏。
- Part II(第 9~24 章):自动化任务实战 — 利用 Part I 学到的基础,动手解决真实世界的自动化问题:正则表达式、文件操作、网页抓取、Excel 自动化、数据库、邮件发送、图像处理、语音识别等。每一章都围绕一类具体的自动化场景展开,学完即可直接应用到工作中。
这种"先打基础,再上项目"的结构设计,是本书十年来广受好评的关键原因之一。 作者 Al Sweigart 在 Chapter 0(导论)中建议:Part I 按顺序学习,Part II 则可以根据你的实际需要跳着读——比如你急需处理 Excel 文件,可以直接跳到第 14 章。
2. 第三版全面升级:与时俱进的技术栈(2025)
第三版是一次从头到尾的全面修订,而非简单的修补。 所有代码示例都经过彻底更新,第三方库覆盖了截至 2025 年的最新版本。以下是最重要的变化:
🆕 四大全新章节
第三版新增了 4 个完整章节,对应了过去五年中 Python 生态系统最重要的发展方向:
第 12 章 — 命令行程序设计与部署(Designing and Deploying Command Line Programs)
教你如何将 Python 脚本从"只能在编辑器里运行"提升为"可以在终端直接执行的命令行工具"。更重要的是,本章介绍了如何使用 PyInstaller 将 Python 脚本编译为 Windows(.exe)、macOS(.app)和 Linux 上的独立可执行文件,这意味着你可以把自己写的工具分享给那些没有安装 Python 环境的同事——他们只需双击即可运行。这在实际工作场景中是一个极其实用的能力。
第 15 章 — Google Sheets 云端表格操作
教你通过 Al Sweigart 自己开发的 EZSheets 库,用 Python 程序化地读取、写入和更新 Google 云端电子表格。在远程办公和团队协作日益普及的今天,Google Sheets 已经成为很多企业和团队的标配工具,能用 Python 自动化操作它,意味着你可以构建从数据采集到报告生成的完整自动化流水线。
第 16 章 — SQLite 数据库(SQLite Databases)
这是一个完整的关系型数据库入门章节,使用 Python 内置的
sqlite3模块(无需安装任何额外软件),涵盖 CRUD 操作(创建、读取、更新、删除)、表连接(JOIN)、内存数据库等核心概念。对于需要处理结构化数据但尚未接触过数据库的学习者来说,这一章填补了一个关键的知识缺口。 SQLite 是世界上部署量最大的数据库引擎,广泛嵌入于手机、浏览器和无数应用程序中。第 24 章 — 语音合成与语音识别(Text-to-Speech and Speech Recognition Engines)
涵盖两个方向的技术:使用 pyttsx3 和 gTTS 库让程序"说话"(文本转语音),以及使用 OpenAI 的 Whisper 库从音视频文件中生成精准的文字转录。本章还教你如何创建字幕文件(subtitle files)、如何使用 yt-dlp 从 YouTube 等平台下载视频并自动生成转录文本——这在内容创作、学术研究和媒体工作中都有直接的应用价值。
🔄 主要技术栈更新
除了新增章节外,第三版还对已有章节的技术栈进行了全面升级:
领域 第二版(2019) 第三版(2025) 🌐 浏览器控制 Selenium 单一方案 Selenium + Playwright 双引擎(支持 headless 无头模式,更快更稳定) 📄 PDF 操作 PyPDF2(已停止维护) PyPDF + PdfMiner(活跃维护的现代替代) 📊 数据格式 CSV + JSON CSV + JSON + XML(新增 XML 解析能力) 📱 通知方式 邮件 + Twilio 短信 邮件 + ntfy.sh 推送通知(免费、开源、无需注册) 📈 数据可视化 无 matplotlib 图表绑制 🖼️ 图像文字识别 基础 OCR PyTesseract + NAPS2(可生成含 OCR 文字层的 PDF) 📋 剪贴板图像 无 pyperclipimg(剪贴板图像复制粘贴) 🔤 正则表达式 传统 re 模块 re 模块 + Humre 模块(让正则表达式更易读、更易维护) 🎬 视频下载 无 yt-dlp(支持 YouTube 等平台的视频下载) 📦 程序分发 无 PyInstaller 跨平台打包 ☁️ 云端表格 无 EZSheets(Google Sheets API 封装) 💾 数据库 无 sqlite3(Python 内置模块) 🗣️ 语音技术 无 pyttsx3 + gTTS + Whisper ✍️ 代码风格 camelCase 混用 全面采用 snake_case(符合 PEP 8 规范) 🔧 一键安装所有依赖:第三版提供了一键安装包,只需执行
pip install automateboringstuff3,即可安装 Playwright、yt-dlp、openpyxl 等所有第三方模块的兼容版本。安装后还需运行playwright install来下载 Playwright 所需的浏览器引擎。🤖 AI 时代的新增指导
第三版还加入了关于如何利用 ChatGPT 等大语言模型(LLM)辅助学习编程的实用建议,包括哪些场景下 AI 辅助最有效、哪些常见陷阱需要避开。这一内容反映了 2023-2025 年 AI 工具在编程教育中迅速普及的现实,也体现了作者对技术趋势的敏锐把握。
3. 完整章节目录与核心内容
🧱 Part I:Python 编程基础(第 1~8 章)
这一部分的目标是让你从零开始,扎实掌握 Python 的核心语法和编程思维。 每章末尾都附有练习题,并在附录 B 中提供答案。
章节 主题 核心知识点 Ch 0 导论 编辑器设置(Mu Editor / IDLE)、交互式 Shell、学习方法论、全书路线图 Ch 1 Python 基础 表达式与语句、整数/浮点数/字符串数据类型、变量与赋值、计算机如何用二进制存储数据 Ch 2 if-else 与流程控制 布尔值与比较运算符、条件语句嵌套、真值表与短路求值 Ch 3 循环 for 循环与 while 循环、 range()函数、break / continue、无限循环的识别与处理Ch 4 函数 定义与调用函数、参数与返回值、局部/全局作用域、异常处理(try/except) Ch 5 调试 raise 语句抛出异常、断言(assert)、日志记录(logging 模块)、调试器的使用(断点、单步执行) Ch 6 列表 索引与切片、列表方法(append/insert/remove/sort)、列表解析(List Comprehension)、元组 Ch 7 字典与数据结构化 键值对操作、 keys()/values()/items()方法、嵌套字典用于真实世界数据建模(如井字棋棋盘)Ch 8 字符串与文本编辑 字符串方法、f-string 格式化、多行字符串与转义字符、 pyperclip剪贴板操作⚙️ Part II:自动化任务实战(第 9~24 章)
这一部分是本书的精华所在——每一章都围绕一类真实的自动化场景展开,学完就能直接用。 以下列出每章的核心内容及代表性实战项目:
📌 Ch 9 — 正则表达式(Regular Expressions)
正则表达式是文本处理的"瑞士军刀"。本章教你使用 Python 的
re模块编写模式匹配规则,从海量文本中精准提取电话号码、邮箱地址、日期等信息。第三版新增了 Humre 模块的介绍——它允许你用更接近自然语言的方式编写正则表达式,大幅降低了学习门槛和维护难度。🛠️ 实战项目:电话号码和邮箱地址提取器
📌 Ch 10 — 读写文件(Reading and Writing Files)
教你用
pathlib模块理解文件系统的组织方式,读写文本文件、处理文件路径。pathlib是 Python 3 推荐的现代文件路径处理方式,比旧的os.path更直观、更安全。🛠️ 实战项目:Mad Libs 填词游戏生成器、正则搜索工具
📌 Ch 11 — 文件整理(Organizing Files)
自动化批量文件操作:复制、移动、重命名、删除,以及 ZIP 压缩和解压。当你面对成千上万个需要按规则整理的文件时,手工操作可能需要一整天,而一个 Python 脚本只需几秒钟。
🛠️ 实战项目:批量文件重命名器、选择性文件复制工具
📌 Ch 12 — 命令行程序设计与部署 🆕
从"在编辑器里运行脚本"到"在命令行中直接调用工具"的质变。 本章教你使用
argparse处理命令行参数,并使用 PyInstaller 将脚本编译为可分发的可执行文件。🛠️ 实战项目:将你的 Python 工具打包为可执行程序,分享给不懂 Python 的同事
📌 Ch 13 — 网页抓取(Web Scraping)
使用
requests库下载网页内容,使用Beautiful Soup解析 HTML,并同时教授 Selenium 和 Playwright 两种浏览器自动化方案。 Playwright 是 Microsoft 于 2020 年推出的新一代浏览器自动化框架,相比 Selenium 更快、更稳定、支持 headless 无头模式。🛠️ 实战项目:新闻标题下载器(Headline Downloader)、图片批量下载器、面包屑跟踪器(Breadcrumb Follower)、HTML 棋盘生成器
📌 Ch 14 — Excel 电子表格(Excel Spreadsheets)
使用 OpenPyXL 库(无需安装 Microsoft Excel)读写 .xlsx 文件:创建工作表、读取单元格、设置字体样式、编写公式、调整行列尺寸、生成图表。
🛠️ 实战项目:搜索词查找器(Search Term Finder)、Excel 文件夹报告生成器
📌 Ch 15 — Google Sheets 🆕
使用 EZSheets 库通过 Google Sheets API 操作云端电子表格。在远程协作的工作模式下,这一能力让你可以构建"数据采集 → 处理 → 同步到云端表格"的完整自动化管线。
🛠️ 实战项目:批量文件上传到 Google Sheets、Google Sheets 文件夹报告生成器
📌 Ch 16 — SQLite 数据库 🆕
完整的关系型数据库入门。使用 Python 内置的
sqlite3模块,无需安装任何额外数据库软件即可学习 SQL 查询、CRUD 操作、表连接和内存数据库。🛠️ 实战项目:用 SQLite 构建本地数据管理系统
📌 Ch 17 — PDF 和 Word 文档
使用 PyPDF 和 PdfMiner 读取、拆分、合并 PDF 文件,使用 python-docx 创建和修改 Word 文档。第三版升级为 PyPDF(PyPDF2 的现代继任者),修复了旧版中众多已知的兼容性问题。
🛠️ 实战项目:PDF 内容搜索器、Word 文档词频统计
📌 Ch 18 — CSV、JSON 和 XML 文件
处理三种最常见的结构化数据格式。第三版新增了 XML 文件的解析,这在处理配置文件、API 响应和遗留系统数据时非常实用。
🛠️ 实战项目:CSV 数据处理、JSON 数据转换
📌 Ch 19 — 时间、定时任务与启动程序
使用
time、datetime模块处理时间和日期,编写定时执行的脚本,自动启动其他程序。🛠️ 实战项目:闹钟与声音提示器、自动图片打开器、"下一个假日"查询器
📌 Ch 20 — 发送邮件、短信与推送通知
使用 EZGmail 库简化 Gmail API 调用,使用 ntfy.sh 向手机发送免费推送通知(无需注册账号、无需第三方付费服务)。 第二版使用的 Twilio 短信服务需要注册和付费,ntfy.sh 则是完全免费的开源替代方案。
🛠️ 实战项目:自动化邮件发送器、手机推送通知脚本
📌 Ch 21 — 图表绑制与图像处理
使用 Pillow 库进行图像操作(裁剪、缩放、添加水印),第三版新增了使用 matplotlib 创建折线图、柱状图和饼图的内容。
🛠️ 实战项目:Project 16:批量添加 Logo、图像切片生成器(Tile Maker)、照片文件夹识别器、个性化座位卡生成器
📌 Ch 22 — 图像文字识别(OCR)
使用 PyTesseract 从图像中提取文字。第三版还介绍了 NAPS2 应用程序,它可以将包含 OCR 识别文字层的扫描图像转换为可搜索的 PDF 文件——这对于数字化纸质文档非常实用。
🛠️ 实战项目:OCR 文字提取工具
📌 Ch 23 — 键盘与鼠标控制
使用 PyAutoGUI(Al Sweigart 自己开发的库)通过 Python 脚本控制鼠标移动、点击和键盘输入,实现 GUI 层面的自动化操作。这是"终极自动化"——当某个软件没有提供 API 时,你仍然可以通过模拟人类的键盘鼠标操作来自动化它。
🛠️ 实战项目:自动表单填写器、GUI 自动化脚本
📌 Ch 24 — 语音合成与语音识别 🆕
使用 pyttsx3(离线文本转语音)和 gTTS(Google 文本转语音)让程序"说话",使用 OpenAI Whisper 从音频/视频文件生成高精度文字转录。还教你如何用 yt-dlp 下载视频并自动生成字幕文件。
🛠️ 实战项目:语音转录工具、自动字幕生成器
4. 教学方法与写作风格
✍️ 为什么这本书对初学者如此友好?
Automate the Boring Stuff 之所以能在十年间成为全球公认的最佳 Python 入门书之一,核心原因不仅在于它教什么,更在于它怎么教。 以下是这本书在教学方法上的几个关键特点:
- 📖 "做中学"哲学(Learning by Doing):作者从第一章开始就让你打开 Python 交互式 Shell 动手输入代码,而不是先花大量篇幅讲理论。每个概念都紧跟实际操作,确保你不会陷入"读了很多却什么都不会做"的困境。
- 🗣️ 口语化的解释风格:Al Sweigart 的写作风格极其平易近人,像是一位耐心的朋友在你身旁解释问题,而非一位教授在讲台上念讲义。技术概念的解释总是先给出直觉性的类比,再深入细节——比如用"购物清单"来解释列表,用"电话簿"来解释字典。
- 🎯 以问题驱动,而非以语法驱动:传统编程教材通常按照语法结构组织内容("这是变量""这是循环""这是函数"),而这本书围绕的是"你想自动化什么任务"。这种面向问题的组织方式让学习者始终清楚自己为什么在学这个东西。
- 🌐 鼓励互联网式学习:Chapter 0 明确告诉读者——程序员的学习方式是"遇到问题就搜索",而不是等老师教。书中鼓励你使用 Stack Overflow、Reddit(r/learnpython、r/inventwithpython)等社区资源,并将"学会提问和搜索"视为编程能力的核心组成部分。
- 🤖 第三版新增:AI 辅助学习指导:告诉你如何有效利用 ChatGPT 等大语言模型加速学习,同时提醒你哪些陷阱需要警惕(比如 AI 生成的代码可能包含过时的库用法或逻辑错误)。
📝 练习与答案系统
每章末尾都附有练习题(Practice Questions),附录 B 提供所有题目的完整答案。此外,第三版配备了官方练习册(Workbook),提供更大量、更深入的习题和实战项目——如果你希望将本书的知识从"理解"层面提升到"熟练"层面,强烈建议配合练习册一起使用。
5. 这本书适合谁?
✅ 最佳适用人群
- 🐣 编程零基础的完全新手:这本书的副标题曾是"Practical Programming for Total Beginners"——为"完全的初学者"而写。你不需要任何数学、计算机科学或编程基础,只需要一台电脑和学习的意愿。
- 💼 想用自动化提升工作效率的职场人士:无论你是数据分析师、市场营销人员、行政管理者、科研工作者还是记者,书中的自动化项目都可以直接迁移到你的日常工作中。Mashable 评价这本书为"办公室工作者、学术人员和管理者的杰出资源(a stellar resource for office workers, academics, and administrators)"。
- 🔄 学过 Python 基础但缺乏实战经验的自学者:如果你学过语法但从没写过一个完整的实用脚本,Part II 的自动化项目会让你体验到编程的真正价值。
- 🎓 编程课程的教师和培训师:清晰的章节结构、丰富的练习题和配套练习册,使这本书非常适合作为教学用书。Creative Commons 许可证意味着教师可以合法地将书中内容用于课堂教学。
- 🔙 从第一版或第二版升级的老读者:第三版新增了 4 个完整章节、16 个新项目和大量技术栈更新。如果你还在使用第二版中已停止维护的 PyPDF2 或依赖 Twilio 短信服务,升级到第三版是非常必要的。
❌ 这本书可能不适合的人群
- 已经熟练掌握 Python 的中高级开发者:这本书的定位是入门级,如果你已经能熟练编写 Python 程序,可能会觉得 Part I 的内容过于基础。此时建议直接阅读 Al Sweigart 的进阶著作 Beyond the Basic Stuff with Python。
- 想深入学习计算机科学理论的人:本书不涉及算法与数据结构、设计模式、系统架构等高级主题。
6. 配套学习资源生态
Automate the Boring Stuff 不只是一本书——它是一个完整的学习生态系统。 以下是围绕本书构建的全部学习资源:
📚 核心资源
资源 说明 获取方式 📕 原书第三版 672 页完整教程 免费在线阅读 / $59.99 购买纸质版 📗 配套练习册 256 页习题与项目 免费在线阅读 / $39.99 购买纸质版 🎬 Udemy 视频课程 50 节视频(基于第一版) Udemy 课程页面(每月初通常有免费领取通道) 📝 附录 B 所有练习题的答案 在线阅读 🌐 社区与支持
资源 说明 📮 Reddit 子版块 r/inventwithpython — 提问、讨论与答疑 📮 Reddit 学习社区 r/learnpython — 更广泛的 Python 学习者社区 🌍 作者网站 inventwithpython.com — Al Sweigart 所有著作的集合 🐙 GitHub 社区贡献的习题解答(如 BrambleXu/Automate-the-Boring-Stuff-with-Python-Solutions) 📘 进阶阅读路径
完成本书后,你可以按以下路径继续深入学习(所有书籍均可免费在线阅读):
Automate the Boring Stuff (入门) │ ├──→ Workbook (巩固练习) │ ├──→ Beyond the Basic Stuff with Python (进阶) │ 涵盖代码风格、面向对象编程、Big-O 算法分析 │ ├──→ The Big Book of Small Python Projects (实战拓展) │ 81 个精选小项目,查漏补缺与灵感激发 │ ├──→ Python Programming Exercises, Gently Explained (刻意练习) │ 42 道精选练习题,循序渐进 │ └──→ The Recursive Book of Recursion (专题深入) 用大量图示和实例深入讲解递归思维7. 出版信息一览
项目 详情 📕 书名 Automate the Boring Stuff with Python, 3rd Edition ✍️ 作者 Al Sweigart 🏢 出版社 No Starch Press 📅 出版时间 2025 年 5 月 20 日 📄 页数 672 页 📐 ISBN-13 978-1-7185-0340-3 💰 定价 $59.99(美元) 📏 尺寸 7.13 × 1.49 × 9.25 英寸(约 18.1 × 3.8 × 23.5 厘米) ⚖️ 重量 2.31 磅(约 1.05 千克) 🆓 免费阅读 automatetheboringstuff.com/3e/ 📜 许可证 Creative Commons BY-NC-SA 4.0 👨💻 关于作者
Al Sweigart(发音押韵 "why dirt") 自 2009 年起就在写编程书籍,几乎全部以 Python 为主、面向初学者。他拥有德克萨斯大学奥斯汀分校(UT Austin)计算机科学学士学位,是 Python 软件基金会(PSF)的 Fellow——这是 PSF 授予个人的最高荣誉,表彰其对 Python 语言和社区做出的卓越贡献。
他也是多个广受欢迎的开源 Python 库的创建者,包括 PyAutoGUI(GUI 自动化)、Pyperclip(剪贴板操作)、EZGmail(Gmail 封装)和 EZSheets(Google Sheets 封装)。
他秉承"编程太有价值了,必须人人可及"的理念,将所有著作以 Creative Commons 许可证免费公开在网上。 他同时也是一位活跃的技术会议演讲者和折纸艺术爱好者。
📚 版本演进历史
版本 出版年份 页数 关键里程碑 第一版 2015 年 4 月 504 页 奠基之作,确立了"面向非程序员的实用 Python"定位 第二版 2019 年 11 月 592 页 升级到 Python 3,新增输入验证章节,销量突破 10 万册 第三版 2025 年 5 月 672 页 4 个新章节、16 个新项目、全面技术栈更新,系列销量突破 50 万册 8. 小结:为什么这本书能成为经典
🎯 核心价值主张:让完全不懂编程的人,在最短时间内学会用 Python 解决真实工作中的重复性问题。
十年三版、五十万册销量、百万 Udemy 学员——这些数字背后的秘密其实很简单: 这本书精准地抓住了一个巨大的需求缺口——绝大多数人不需要成为专业开发者,但几乎所有人都能从自动化技能中获益。Al Sweigart 用最平易近人的语言、最贴近真实工作场景的项目,为这个需求提供了最好的解决方案。
第三版的意义在于:它不仅跟上了技术栈的发展(Playwright、Whisper、ntfy.sh),还跟上了时代的变化(AI 辅助学习、远程协作、云端工具)。 如果你正在寻找一本能让你真正"上手"Python 的书——不是让你背语法,而是让你解决问题——这本书仍然是 2025 年最好的选择。而且它是免费的。 🐍
📌 参考来源
- No Starch Press — Automate the Boring Stuff with Python, 3rd Edition
- Automate the Boring Stuff 3rd Edition — 在线免费阅读
- What's New in the 3rd Edition — Al Sweigart Blog
- Invent with Python — Al Sweigart 所有著作
- Al Sweigart 个人网站
- Amazon — 3rd Edition
- Penguin Random House — 3rd Edition
- Udemy 课程 — Automate the Boring Stuff with Python Programming
- 配套练习册 — Workbook 在线版
歡迎留言回复交流。
Log in to reply.