9787115684882 Python编程快速上手让烦琐工作自动化(第3版) 109.80 9787115696168 Python编程快速上手实战手册让烦琐工作自动化 79.80 《Python编程快速上手让烦琐工作自动化(第3版)》 这是一本面向初学者的 Python 编程实用指南,用讲故事 + 做项目的方式带你走进Python 世界。
本书的前半部分(第 1~8 章)用浅显易懂的语言将 Python 基础知识、语法、数据结构等串起来,后半部分(第 9~24 章)则把这些概念直接投入真实场景,让 Python 程序替你批量整理文件夹、填报电子表格、抓取网页数据、生成 PDF 报告、定时发送邮件,甚至让计算机开口说话。本书的案例聚焦日常痛点,会先讲思路,再给代码,并在实践项目中分步骤拆解和演
示编程实践,非常有助于读者边学边上手。值得一提的是,本书还结合大语言模型(LLM)给出了一些更加巧妙的实践技巧。
无论你是想要轻松学习编程的入门级读者,还是想借助程序自动化处理事务的非专业人士,这本久经考验的 Python 教程都将是你不容错过的选择。 《Python编程快速上手实战手册让烦琐工作自动化》 这是一本强调动手实践的Python编程实战手册,与经典教程《Python编程快速上手让烦琐工作自动化(第3版)》[以下简称《Python编程快速上手(第3版)》]相辅相成。
本书共24章,内容遵循清晰的实践路径展开。从Python基础语法、流程控制与函数调试入手,逐步深入到列表、字典、文件操作及正则表达式等数据处理核心技能,进而拓展至Web抓取、电子表格与数据库操作、图像处理、GUI自动化,以及语音识别等高级应用领域,全面覆盖Python在自动化办公与智能开发中的关键场景。全书通过大量习题与实践项目,系统培养读者从理解语法到解决实际问题的综合编程能力。此外,本书还提供全书所有习题与实践项目的参考答案,以便读者检验其对知识和技能的掌握情况。
本书不仅有助于读者巩固所学知识和技能,及时查漏补缺,而且有助于塑造其独立解决实际问题的能力,为日后独立开发项目或深入学习计算机编程奠定坚实基础。
?
《Python编程快速上手让烦琐工作自动化(第3版)》 【第3版重磅升级】零基础友好,从小白到高手的全程护航
看点一:八大模块快速打好Python基础,从概念到调试,稳扎稳打。
看点二:案例丰富,药到病除!覆盖文件处理、Web爬虫、办公自动化、AI应用等实用场景。
看点三:赠送全书案例代码,项目思路清晰,可直接套用,解放双手!
看点四:262个习题巩固所学,答案俱全,随时检验学习成果。
看点五:47个实践项目大练身手,从理论到实战,真正学以致用。
看点六:经典书《Python编程快速上手》的学习伴侣,配套提供全部案例素材与习题答案。
看点七:用丰富的习题和项目实战强化你的Python肌肉记忆,真正成为实战高手。
《Python编程快速上手让烦琐工作自动化(第3版)》 阿尔·斯维加特(Al Sweigart)软件开发人员、 美术师、Python软件基金会会士(fellow);著有多部适合初学者阅读的编程著作,其中包括Invent Your Own Computer Games with Python、The Big Book of Small Python Projects 和Beyond the Basic Stuff with Python(均由 No Starch 出版社出版);曾在多个PyCon大会上担任国际演讲嘉宾。 《Python编程快速上手实战手册让烦琐工作自动化》 阿尔·斯维加特(Al Sweigart),软件开发人员、艺术家、Python软件基金会会士(Fellow);著有多部适合初学者阅读的编程著作,其中包括Invent Your Own Computer Games with Python、The Big Book of Small Python Projects和Beyond the Basic Stuff with Python(均由No Starch 出版社出版);曾在多个PyCon大会上担任演讲嘉宾。
《Python编程快速上手让烦琐工作自动化(第3版)》 第 一部分 编程基础
第 1 章 Python 基础 3
1.1 在交互式环境中输入表达式 3
1.2 整型、浮点型和字符串数据类型 7
1.3 字符串的拼接和复制 8
1.4 在变量中存储值 9
1.4.1 赋值语句 9
1.4.2 变量名 10
1.5 编写第 一个程序 11
1.6 程序详解 13
1.6.1 注释 13
1.6.2 函数 print() 13
1.6.3 函数 input() 14
1.6.4 问候语 14
1.6.5 函数 len() 14
1.6.6 函数 str()、int() 和 float() 15
1.6.7 函数 type() 18
1.6.8 函数 round() 和 abs() 19
1.7 计算机如何使用二进制数存储数据 20
1.8 小结 22
第 2 章 if-else 和流程控制 23
2.1 布尔值 24
2.2 比较运算符 24
2.3 布尔运算符 26
2.4 混合使用布尔运算符和比较运算符 28
2.5 流程控制的组成部分 28
2.5.1 条件 29
2.5.2 代码块 29
2.5.3 程序执行 29
2.6 流程控制语句 30
2.6.1 if 语句 30
2.6.2 else 语句 31
2.6.3 elif 语句 32
2.7 小程序 1:反转日 36
2.8 小程序 2:不诚实的容量计算器 37
2.9 小结 39
第 3 章 循环 41
3.1 while 循环语句 41
3.1.1 一个恼人的 while 循环 43
3.1.2 break 语句 44
3.1.3 continue 语句 46
3.2 for 循环和函数 range() 49
3.2.1 等价的 while 循环 51
3.2.2 range() 的参数 51
3.3 导入模块 52
3.4 使用 sys.exit() 提前结束程序 53
3.5 小程序 3:猜数 54
3.6 小程序 4:剪刀、石头、布 56
3.7 小结 60
第 4 章 函数 61
4.1 创建函数 61
4.2 实参和形参 62
4.3 返回值和 return 语句 64
4.4 None 值 65
4.5 具名形参 65
4.6 调用栈 67
4.7 局部作用域和全局作用域 69
4.7.1 作用域规则 70
4.7.2 global 语句 72
4.7.3 确定变量是全局变量还是局部变量 73
4.8 异常处理 74
4.9 小程序 5:之字形运动 76
4.10 小程序 6:绘制尖峰 78
4.11 小结 80
第 5 章 调试 81
5.1 引发异常 81
5.2 断言 83
5.3 日志 84
5.3.1 logging 模块 84
5.3.2 日志文件 86
5.3.3 一种糟糕的做法:使用 print() 进行调试 86
5.3.4 日志等级 87
5.3.5 禁用日志 87
5.4 Mu 的调试器 88
5.4.1 调试一个执行加法运算的程序 89
5.4.2 设置断点 91
5.5 小结 92
第 6 章 列表 93
6.1 列表数据类型 93
6.1.1 索引 94
6.1.2 负数索引 95
6.1.3 切片 95
6.1.4 函数 len() 96
6.1.5 更新列表中的值 96
6.1.6 拼接和复制 97
6.1.7 del 语句 97
6.2 使用列表 97
6.2.1 for 循环与列表 99
6.2.2 运算符 in 和 not in 100
6.2.3 多重赋值技巧 100
6.2.4 列表元素枚举 101
6.2.5 随机选择和随机排序 101
6.3 增强赋值运算符 102
6.4 方法 103
6.4.1 查找值 103
6.4.2 添加值 104
6.4.3 删除值 105
6.4.4 对值进行排序 106
6.4.5 以相反的顺序排列值 107
6.5 短路的布尔运算符 108
6.6 小程序 7:列表版魔力八号球 109
6.7 序列数据类型 109
6.7.1 可变数据类型和不可变数据类型 110
6.7.2 元组数据类型 111
6.7.3 转换为列表和元组 112
6.8 引用 113
6.8.1 实参 114
6.8.2 函数 copy() 和 deepcopy() 115
6.9 小程序 8:黑客帝国屏保 116
6.10 小结 119
第 7 章 字典与数据结构化 121
7.1 字典数据类型 121
7.1.1 比较字典和列表 122
7.1.2 返回键和值 124
7.1.3 检查指定的键是否存在 125
7.1.4 设置默认值 126
7.2 使用数据结构对实物建模 127
7.3 项目 1:交互式国际象棋棋盘模拟器 129
7.3.1 第 1 步:初始化 130
7.3.2 第 2 步:创建棋盘模板 130
7.3.3 第 3 步:显示棋盘的当前状态 131
7.3.4 第 4 步:操作棋盘 133
7.4 嵌套的字典和列表 135
7.5 小结 136
第 8 章 字符串与文本编辑 137
8.1 使用字符串 137
8.1.1 字符串字面量 137
8.1.2 索引和切片 140
8.1.3 运算符 in 和 not in 141
8.2 f- 字符串 142
8.3 f- 字符串的替代方法:%s 和 format() 142
8.4 非常有用的字符串方法 143
8.4.1 修改大小写 143
8.4.2 检查字符串的特征 145
8.4.3 检查字符串的开头和结尾部分 147
8.4.4 字符串合并和拆分 147
8.4.5 文本对齐和居中 148
8.4.6 删除空白 149
8.5 字符的数值码点 150
8.6 复制并粘贴字符串 150
8.7 项目 2:在维基百科文章中添加项目符号 152
8.7.1 第 1 步:从剪贴板复制并粘贴 152
8.7.2 第 2 步:按行拆分文本 153
8.7.3 第 3 步:合并修改后的行 154
8.8 小程序 9:儿童黑话 154
8.9 小结 158
第二部分 任务自动化
第 9 章 使用正则表达式匹配文本模式 161
9.1 在不使用正则表达式的情况下查找文本模式 162
9.2 使用正则表达式查找文本模式 163
9.3 正则表达式语法 165
9.3.1 使用括号进行分组 165
9.3.2 使用转义字符 166
9.3.3 匹配可替代编组 166
9.3.4 返回所有的匹配内容 167
9.4 修饰符语法:要匹配什么字符 168
9.4.1 使用字符集和反向字符集 168
9.4.2 使用简写字符集 169
9.4.3 使用句点字符匹配任何字符 169
9.4.4 注意要匹配的字符是否正确 170
9.5 量词语法:匹配多少个修饰符 170
9.5.1 匹配可选模式 170
9.5.2 匹配零个或多个修饰符 171
9.5.3 匹配一个或多个修饰符 172
9.5.4 匹配指定数量的修饰符 172
9.6 贪婪匹配和非贪婪匹配 173
9.6.1 匹配任何内容 174
9.6.2 匹配换行符 175
9.7 在字符串开头和末尾查找匹配的内容 175
9.8 匹配时不区分大小写 177
9.9 替换字符串 178
9.10 使用详细模式管理复杂的正则表达式 178
9.11 组合使用 re.IGNORECASE、re.DOTALL和 re.VERBOSE 179
9.12 项目 3:从大型文档中提取联系人信息 179
9.12.1 第 1 步:创建用于匹配电话号码的正则表达式 180
9.12.2 第 2 步:创建用于匹配电子邮件地址的正则表达式 181
9.12.3 第 3 步:找出剪贴板文本中所有匹配的内容 182
9.12.4 第 4 步:将匹配的内容合并为单个字符串 182
9.12.5 文本模式识别的其他用途 183
9.13 Humre:一个用于提高正则表达式可读性的模块 184
9.14 小结 188
第 10 章 读写文件 189
10.1 文件和文件路径 189
10.1.1 标准化路径分隔符 190
10.1.2 合并路径 191
10.1.3 访问当前工作目录 192
10.1.4 访问主目录 193
10.1.5 指定绝对路径与相对路径 193
10.1.6 新建文件夹 194
10.1.7 处理绝对路径和相对路径 195
10.1.8 获取文件路径的组成部分 196
10.1.9 获取文件大小和时间戳 197
10.1.10 使用 glob 模式查找文件 198
10.1.11 检查路径是否有效 199
10.2 文件读写过程 200
10.2.1 打开文件 201
10.2.2 读取文件内容 202
10.2.3 写入文件 203
10.2.4 使用 with 语句 204
10.3 使用 shelve 模块保存变量 204
10.4 项目 4:生成随机的考卷文件 206
10.4.1 第 1 步:将测验数据存储在字典中 206
10.4.2 第 2 步:创建用于存储测验数据的文件 207
10.4.3 第 3 步:创建选项 208
10.4.4 第 4 步:将内容写入文件 209
10.5 小结 210
第 11 章 组织文件 213
11.1 shutil 模块 213
11.1.1 复制文件和文件夹 214
11.1.2 移动和重命名文件和文件夹 215
11.1.3 永久性删除文件和文件夹 215
11.1.4 移入回收站 216
11.2 遍历目录树 217
11.3 使用 zipfile 模块压缩文件 219
11.3.1 创建和添加到 ZIP 文件 219
11.3.2 读取 ZIP 文件 220
11.3.3 解压缩 ZIP 文件 221
11.4 项目 5:将文件夹备份到 ZIP 文件中 221
11.4.1 第 1 步:确定 ZIP 文件的名称 222
11.4.2 第 2 步:新建 ZIP 文件 223
11.4.3 第 3 步:遍历目录树 223
11.4.4 使用同样的技巧编写类似程序 224
11.5 小结 224
第 12 章 设计并部署命令行程序 227
12.1 程序的别名 227
12.2 使用终端 228
12.2.1 命令 cd、pwd、dir 和 ls 229
12.2.2 环境变量 PATH 230
12.2.3 编辑环境变量 PATH 231
12.2.4 命令 which 和 where 232
12.3 虚拟环境 232
12.4 使用 pip 安装 Python 包 234
12.5 有自我认知的 Python 程序 235
12.6 基于文本的程序设计 236
12.6.1 简短的命令名 237
12.6.2 命令行参数 238
12.6.3 剪贴板 I/O 238
12.6.4 使用 Bext 显示五颜六色的文本 239
12.6.5 清空终端窗口 240
12.6.6 声音和文本通知 240
12.7 小程序 10:暴风雪 241
12.8 使用 PyMsgBox 弹出消息框 243
12.9 部署 Python 程序 243
12.9.1 Windows 243
12.9.2 macOS 245
12.9.3 Ubuntu Linux 245
12.10 小程序 11:复制当前工作目录 247
12.10.1 Windows 248
12.10.2 macOS 248
12.10.3 Ubuntu Linux 249
12.11 小程序 12:剪贴板记录程序 249
12.11.1 Windows 251
12.11.2 macOS 252
12.11.3 Ubuntu Linux 252
12.12 使用 PyInstaller 编译 Python 程序 253
12.13 小结 254
第 13 章 Web 内容爬取 255
13.1 HTTP 和 HTTPS 255
13.2 项目 6:使用 webbrowser 模块运行程序 256
13.2.1 第 1 步:确定 URL 256
13.2.2 第 2 步:处理命令行参数 257
13.2.3 第 3 步:获取剪贴板中的内容 258
13.2.4 使用 webbrowser 模块编写类似程序 259
13.3 使用 requests 模块下载网络文件 259
13.3.1 下载网页 259
13.3.2 检查错误 260
13.3.3 将下载的文件保存到硬盘 261
13.4 访问天气 API 262
13.4.1 城市搜索 264
13.4.2 获取当前天气 265
13.4.3 获取天气预报 265
13.4.4 探索 API 265
13.5 理解 HTML 266
13.5.1 探索 HTML 格式 266
13.5.2 查看网页的源代码 266
13.5.3 打开浏览器的开发者工具 267
13.5.4 查找 HTML 元素 268
13.6 使用 Beautiful Soup 解析 HTML 270
13.6.1 创建 Beautiful Soup 对象 271
13.6.2 查找元素 271
13.6.3 获取元素属性中的数据 273
13.7 项目 7:打开所有搜索结果 274
13.7.1 第 1 步:获取搜索结果页面 274
13.7.2 第 2 步:查找所有搜索结果 275
13.7.3 第 3 步:在不同的浏览器选项卡中打开每个搜索结果 275
13.7.4 使用同样的技巧编写类似程序 276
13.8 项目 8:下载 XKCD 漫画 276
13.8.1 第 1 步:设计程序 277
13.8.2 第 2 步:下载网页 278
13.8.3 第 3 步:找到并下载漫画图像 279
13.8.4 第 4 步:保存图像并找到上一张漫画 280
13.8.5 用同样的技巧编写类似程序 281
13.9 使用 Selenium 控制浏览器 282
13.9.1 启动 Selenium 控制的浏览器 282
13.9.2 单击浏览器中的按钮 283
13.9.3 查找页面上的元素 283
13.9.4 单击页面上的元素 285
13.9.5 填写并提交表单 285
13.9.6 发送特殊键 286
13.10 使用 Playwright 控制浏览器 287
13.10.1 启动 Playwright 控制的浏览器 287
13.10.2 单击浏览器中的按钮 288
13.10.3 查找页面上的元素 288
13.10.4 单击页面上的元素 290
13.10.5 填写并提交表单 292
13.10.6 发送特殊键 292
13.11 小结 293
第 14 章 Excel 电子表格 295
14.1 读取 Excel 文件 296
14.1.1 打开工作簿 297
14.1.2 获取工作簿中的工作表 297
14.1.3 获取工作表中的单元格 297
14.1.4 在列的字母编号和数字编号之间进行转换 299
14.1.5 获取行和列 300
14.2 项目 9:收集人口普查统计数据 302
14.2.1 第 1 步:读取电子表格数据 302
14.2.2 第 2 步:填充数据结构 303
14.2.3 第 3 步:将结果写入文件 305
14.2.4 使用同样的技巧编写类似程序 305
14.3 写入 Excel 文档 306
14.3.1 创建并保存 Excel 文件 306
14.3.2 创建和删除工作表 307
14.3.3 在单元格中写入值 307
14.4 项目 10:更新电子表格 308
14.4.1 第 1 步:设计用于存储正确价格信息的数据结构 309
14.4.2 第 2 步:检查所有行并更正错误价格 310
14.4.3 使用同样的技巧编写类似程序 310
14.5 设置单元格的字体样式 310
14.6 公式 312
14.7 调整行和列 314
14.7.1 设置行高和列宽 314
14.7.2 合并和拆分单元格 315
14.7.3 冻结窗格 316
14.8 图表 317
14.9 小结 318
第 15 章 Google Sheets 319
15.1 准备工作 319
15.1.1 新建一个 Google Cloud 项目 320
15.1.2 启用 Google Sheets API 和 Google Drive API 320
15.1.3 配置 OAuth 许可界面 320
15.1.4 创建凭证 321
15.1.5 使用凭证文件登录 321
15.1.6 撤销凭证文件 322
15.2 Spreadsheet 对象 322
15.2.1 创建、上传和列出电子表格 323
15.2.2 访问电子表格的属性 324
15.2.3 下载和上传电子表格 325
15.2.4 删除电子表格 326
15.3 Sheet 对象 326
15.3.1 读写数据 327
15.3.2 创建、移动和删除工作表 332
15.3.3 复制工作表 333
15.4 Google Forms 334
15.5 项目 11:虚构的区块链加密货币骗局 334
15.5.1 第 1 步:审计区块链 335
15.5.2 第 2 步:实施交易 337
15.6 Google Sheets 配额 338
15.7 小结 338
第 16 章 SQLite 数据库 341
16.1 比较电子表格和数据库 341
16.2 比较 SQLite 和其他 SQL 数据库 344
16.3 创建数据库和表 344
16.3.1 连接到数据库 345
16.3.2 创建表 346
16.3.3 定义数据类型 346
16.3.4 列出表和列 347
16.4 数据库操作 CRUD 348
16.4.1 在数据库中插入数据 349
16.4.2 从数据库中读取数据 350
16.4.3 更新数据库中的数据 356
16.4.4 删除数据库中的数据 357
16.5 回滚事务 357
16.6 备份数据库 358
16.7 修改和删除表 359
16.8 使用外键连接多个表 360
16.9 内存数据库及其备份 362
16.10 复制数据库 363
16.11 SQLite 命令行工具 364
16.12 小结 365
第 17 章 PDF 文档和 Word文档 367
17.1 PDF 文档 367
17.1.1 提取文本 367
17.1.2 使用 AI 做后期处理 369
17.1.3 提取图像 370
17.1.4 使用既有 PDF 页面创建 PDF 文档 371
17.2 项目 12:将众多 PDF 文档中的部分页面合并为单个 PDF 文档 377
17.2.1 第 1 步:找出所有的 PDF 文件 378
17.2.2 第 2 步:打开每个 PDF 文件 379
17.2.3 第 3 步:保存结果 379
17.2.4 使用同样的技巧编写类似程序 380
17.3 Word 文档 380
17.3.1 读取 Word 文档 381
17.3.2 获取 .docx 文件中的所有文本 381
17.3.3 设置 Paragraph 和 Run 对象的样式 382
17.3.4 设置 Run 对象的属性 383
17.3.5 写入 Word 文档 385
17.3.6 添加标题 387
17.3.7 添加软换行符和换页符 388
17.3.8 添加图片 389
17.4 小结 389
第 18 章 CSV、JSON 和 XML文件 391
18.1 CSV 格式 391
18.1.1 读取 CSV 文件 392
18.1.2 使用 for 循环访问数据 393
18.1.3 写入 CSV 文件 394
18.1.4 将制表符(而不是逗号)用作分隔符 395
18.1.5 处理标题行 396
18.2 项目 13:删除 CSV 文件中的标题行 398
18.2.1 第 1 步:遍历每个文件 398
18.2.2 第 2 步:读取文件 399
18.2.3 第 3 步:写入新的 CSV 文件 400
18.2.4 使用同样的技巧编写类似程序 401
18.3 用途广泛的纯文本格式 401
18.3.1 JSON 402
18.3.2 XML 405
18.4 小结 411
第 19 章 记录时间、调度任务和启动程序 413
19.1 time 模块 413
19.1.1 返回 UNIX 纪元时间戳 413
19.1.2 让程序暂停 415
19.2 项目 14:超级秒表 415
19.2.1 第 1 步:为计时做准备 416
19.2.2 第 2 步:记录并显示每个阶段的时长 416
19.2.3 使用同样的技巧编写类似程序 417
19.3 datetime 模块 417
19.3.1 表示时间段 419
19.3.2 暂停到特定日期 420
19.3.3 将 datetime 对象转换为字符串 421
19.3.4 将字符串转换为 datetime 对象 422
19.4 在 Python 程序中启动其他程序 423
19.4.1 向进程传递命令行参数 426
19.4.2 接收来自外部命令的文本输出 426
19.4.3 运行任务调度器、launchd 和 cron 427
19.4.4 使用默认应用程序打开文件 427
19.5 项目 15:简单的倒计时程序 428
19.5.1 第 1 步:倒计时 428
19.5.2 第 2 步:播放音频文件 428
19.5.3 使用同样的技巧编写类似程序 429
19.6 小结 429
第 20 章 发送电子邮件、短信和通知 431
20.1 Gmail API 431
20.1.1 启用 Gmail API 432
20.1.2 发送邮件 432
20.1.3 读取邮件 433
20.1.4 搜索邮件 434
20.1.5 下载附件 435
20.2 SMS Email 网关 435
20.3 通知 437
20.3.1 发送通知 437
20.3.2 传输元数据 438
20.3.3 接收通知 438
20.4 小结 440
第 21 章 绘制图形和操作图像 441
21.1 计算机图像基础 441
21.1.1 颜色和 RGBA 值 441
21.1.2 坐标和矩形元组 443
21.2 使用 Pillow 操作图像 444
21.2.1 使用数据类型 Image 445
21.2.2 裁剪图像 446
21.2.3 将图像粘贴到其他图像中 447
21.2.4 调整图像大小 450
21.2.5 旋转和翻转图像 451
21.2.6 修改像素 453
21.3 项目 16:添加徽标 454
21.3.1 第 1 步:载入徽标图像 455
21.3.2 第 2 步:遍历所有的文件 456
21.3.3 第 3 步:调整图像大小 456
21.3.4 第 4 步:添加徽标并保存所做的修改 457
21.3.5 使用同样的技巧编写类似程序 459
21.4 在图像上绘画 459
21.4.1 形状 459
21.4.2 文本 461
21.5 使用剪贴板复制并粘贴图像 462
21.6 使用 Matplotlib 绘图 463
21.6.1 折线图和散点图 463
21.6.2 条形图和饼图 465
21.6.3 其他图表元素 467
21.7 小结 469
第 22 章 识别图像中的文本 471
22.1 安装 Tesseract 和 PyTesseract 471
22.1.1 Windows 471
22.1.2 macOS 472
22.1.3 Linux 472
22.1.4 安装 PyTesseract 472
22.2 OCR 基础知识 472
22.2.1 预处理图像 473
22.2.2 使用大语言模型更正错误 474
22.3 识别非英语文本 476
22.4 扫描器应用程序 NAPS2 477
22.4.1 安装并设置 NAPS2 477
22.4.2 在 Python 程序中运行 NAPS2 477
22.4.3 指定输入 478
22.5 小结 479
第 23 章 控制键盘和鼠标 481
23.1 在 macOS 系统中将程序设置为无障碍的 482
23.2 从故障中恢复 482
23.2.1 暂停和故障恢复措施 482
23.2.2 注销 482
23.3 控制鼠标移动 482
23.3.1 移动鼠标 484
23.3.2 获取鼠标的当前位置 484
23.4 控制鼠标交互 485
23.4.1 单击 485
23.4.2 拖曳 485
23.4.3 滚动 487
23.5 规划鼠标移动 488
23.6 截屏 489
23.7 图像识别 490
23.8 获取窗口信息 492
23.8.1 获取活动窗口 492
23.8.2 使用其他函数查找窗口 493
23.8.3 操作窗口 493
23.9 控制键盘 496
23.9.1 模拟按键操作 496
23.9.2 指定键名 497
23.9.3 按下和松开键盘键 498
23.9.4 模拟按快捷键 498
23.10 GUI 自动化脚本编写小贴士 499
23.11 显示消息框 500
23.12 小结 501
第 24 章 文本转语音引擎和语音识别引擎 503
24.1 文本转语音引擎 503
24.1.1 生成语音 504
24.1.2 将语音保存为 WAV 文件 505
24.2 语音识别 506
24.3 创建字幕文件 507
24.4 从网站下载视频 508
24.5 小结 511
附录 安装第三方包 513
1. 安装 pip 513
2. 查找 pip 513
3. 在虚拟环境中运行 pip 514
4. 安装本书用到的包 514
《Python编程快速上手实战手册让烦琐工作自动化》 目 录
第 1 章 Python 基础 1
1.1 习题 2
1.1.1 在交互式环境中输入表达式 2
1.1.2 整型、浮点型和字符串数据类型 3
1.1.3 字符串的拼接和复制 3
1.1.4 在变量中存储值 4
1.1.5 编写第一个程序 5
1.1.6 计算机如何使用二进制数存储数据 6
1.2 实践项目 7
1.2.1 矩形打印程序 7
1.2.2 周长和面积计算器 7
第 2 章 If-Else 和流程控制 9
2.1 习题 10
2.1.1 布尔值 10
2.1.2 比较运算符 10
2.1.3 布尔运算符 11
2.1.4 流程控制的组成部分 11
2.1.5 流程控制语句 12
2.2 实践项目 13
2.2.1 修复安全温度程序 13
2.2.2 使用单个表达式检查温度是否在安全范围内 14
2.2.3 Fizz Buzz 编程挑战 14
第 3 章 循环 16
3.1 习题 17
3.1.1 while 循环语句 17
3.1.2 for 循环和 range() 函数 18
3.1.3 导入模块 20
3.1.4 使用 sys.exit() 提前结束程序 20
3.2 实践项目 21
3.2.1 松树打印程序 21
3.2.2 圣诞树打印程序 22
第 4 章 函数 23
4.1 习题 24
4.1.1 创建函数 24
4.1.2 实参和形参 24
4.1.3 返回值和 return 语句 25
4.1.4 None 值 25
4.1.5 调用栈 26
4.1.6 局部作用域和全局作用域 26
4.1.7 异常处理 28
4.2 实践项目 28
4.2.1 交易跟踪函数 28
4.2.2 不使用算术运算符的算术函数 29
4.2.3 计时函数 30
第 5 章 调试 31
5.1 习题 32
5.1.1 引发异常 32
5.1.2 断言 33
5.1.3 日志 33
5.1.4 Mu 的调试器 33
5.2 实践项目 34
5.2.1 有 bug 的平均分计算器 34
5.2.2 除零错误 35
5.2.3 闰年计算器 35
5.2.4 刻意编写存在 bug 的代码 36
第 6 章 列表 38
6.1 习题 39
6.1.1 列表数据类型 39
6.1.2 使用列表 39
6.1.3 增强赋值运算符 40
6.1.4 方法 40
6.1.5 短路求值 41
6.1.6 序列数据类型 42
6.1.7 引用 42
6.2 实践项目 43
6.2.1 全字母句子检测器 43
6.2.2 根据移动方向计算最终坐标 44
第 7 章 字典与数据结构化 45
7.1 习题 46
7.1.1 使用数据结构对实物建模 47
7.1.2 嵌套的字典和列表 47
7.2 实践项目 48
7.2.1 随机天气数据生成器 48
7.2.2 平均温度分析器 49
7.2.3 找出车能够吃到的棋子 49
第 8 章 字符串与文本编辑 51
8.1 习题 52
8.1.1 使用字符串 52
8.1.2 f- 字符串 53
8.1.3 非常有用的字符串方法 53
8.1.4 字符的数值码点 54
8.1.5 复制并粘贴字符串 54
8.2 实践项目 54
8.2.1 猜单词游戏 55
8.2.2 滚动文本动画 56
8.2.3 大小写交替变换 57
第 9 章 使用正则表达式匹配文本模式 58
9.1 习题 59
9.1.1 正则表达式语法 59
9.1.2 修饰符语法:要匹配什么字符 59
9.1.3 量词语法:匹配多少个修饰符 60
9.1.4 贪婪匹配和非贪婪匹配 60
9.1.5 在字符串开头和末尾查找匹配的内容 60
9.1.6 匹配时不区分大小写 61
9.1.7 替换字符串 61
9.1.8 使用详细模式管理复杂的正则表达式 61
9.1.9 Humre:一个用于提高正则表达式可读性的模块 62
9.2 实践项目 62
9.2.1 查找话题标签的正则表达式 62
9.2.2 查找价格的正则表达式 62
9.2.3 创建一个包含 PyCon 演讲者信息的 CSV 文件 63
9.2.4 可笑指数评估程序 64
9.2.5 单词扭曲器 65
第 10 章 读写文件 66
10.1 习题 67
10.1.1 文件和文件路径 67
10.1.2 文件读写过程 68
10.1.3 使用 shelve 模块保存变量 68
10.2 实践项目 69
10.2.1 文本文件合并函数 69
10.2.2 将之字形文本写入文件 69
10.2.3 能保存结果的剪刀、石头、布游戏 70
第 11 章 组织文件 71
11.1 习题 72
11.1.1 shutil 模块 72
11.1.2 遍历目录树 72
11.1.3 使用 zipfile 模块压缩文件 73
11.2 实践项目 73
11.2.1 同名文件查找程序 73
11.2.2 基于字母表创建文件夹 74
11.2.3 从 ZIP 文件中提取特定文件夹中的文件 75
第 12 章 设计并部署命令行程序 76
12.1 习题 77
12.1.1 程序的别名 77
12.1.2 使用终端 77
12.1.3 虚拟环境 78
12.1.4 使用 pip 安装 Python 包 78
12.1.5 有自我认知的 Python 程序 78
12.1.6 基于文本的程序设计 79
12.1.7 使用 PyMsgBox 弹出消息框 79
12.1.8 部署 Python 程序 80
12.1.9 使用 PyInstaller 编译 Python 程序 80
12.2 实践项目 81
12.2.1 使用 PyMsgBox 为猜数游戏创建对话框界面 81
12.2.2 使用 PyMsgBox 为定时器程序创建界面 81
12.2.3 编译定时器程序和猜数游戏 81
第 13 章 Web 内容爬取 82
13.1 习题 83
13.1.1 HTTP 和 HTTPS 83
13.1.2 使用 requests 模块下载网络文件 83
13.1.3 访问天气 API 83
13.1.4 理解 HTML 84
13.1.5 使用 Beautiful Soup 解析 HTML 84
13.1.6 使用 Selenium 控制浏览器 85
13.1.7 使用 Playwright 控制浏览器 86
13.2 实践项目 86
13.2.1 标题下载程序 86
13.2.2 图像下载程序 87
13.2.3 遍历网页链 87
13.2.4 HTML 国际象棋棋盘 88
第 14 章 Excel 电子表格 91
14.1 习题 92
14.1.1 读取 Excel 文件 92
14.1.2 写入 Excel 文件 92
14.1.3 设置单元格的字体样式 93
14.1.4 公式 93
14.1.5 调整行和列 94
14.1.6 图表 94
14.2 实践项目 95
14.2.1 在特定文件夹下所有的电子表格文件中搜索 95
14.2.2 使用 Excel 电子表格统计主文件夹中的文件 95
第 15 章 Google Sheets 97
15.1 习题 98
15.1.1 安装和设置 EZSheets 98
15.1.2 Spreadsheet 对象 98
15.1.3 Sheet 对象 99
15.1.4 Google Forms 99
15.1.5 Google Sheets 配额 99
15.2 实践项目 100
15.2.1 上传特定文件夹中所有的相关文件 100
15.2.2 使用 Google Sheets 统计主文件夹中的文件 100
第 16 章 SQLite 数据库 101
16.1 习题 102
16.1.1 比较电子表格和数据库 102
16.1.2 比较 SQLite 和其他 SQL 数据库 102
16.1.3 创建数据库和表 102
16.1.4 数据库操作 CRUD 103
16.1.5 回滚事务 104
16.1.6 备份数据库 104
16.1.7 修改和删除表 105
16.1.8 使用外键连接多个表 105
16.1.9 内存数据库及其备份 106
16.2 实践项目 106
16.2.1 监控可用磁盘空间 106
16.2.2 数据库转储工具 107
第 17 章 PDF 和 Word 文档 109
17.1 习题 110
17.1.1 PDF 文档处理 110
17.1.2 Word 文档处理 110
17.2 实践项目 111
17.2.1 计算 PDF 文档的字数 112
17.2.2 在特定文件夹下所有的 PDF 文档中查找 112
17.2.3 将猜数游戏的输出写入 Word 文档 112
17.2.4 将文本文件转换为 Word 文档 113
17.2.5 将 Word 文档中的单词设置为粗体 113
第 18 章 CSV、JSON 和 XML 文件 114
18.1 习题 115
18.1.1 CSV 格式 115
18.1.2 用途广泛的纯文本格式 116
18.2 实践项目 117
18.2.1 将 Fizz Buzz 程序的输出保存到 CSV 文件中 117
18.2.2 将猜数游戏的统计数据保存到 CSV 文件中 118
18.2.3 将猜数游戏的统计数据保存到 JSON 文件中 118
18.2.4 将猜数游戏的统计数据保存到 XML 文件中 119
第 19 章 记录时间、调度任务和启动程序 120
19.1 习题 121
19.1.1 time 模块 121
19.1.2 datetime 模块 121
19.1.3 在 Python 程序中启动其他程序 122
19.2 实践项目 123
19.2.1 用声音告警 123
19.2.2 图像打开程序 123
19.2.3 下一个节日告知程序 124
第 20 章 发送电子邮件、短信和通知 125
20.1 习题 126
20.1.1 Gmail API 126
20.1.2 SMS Email 网关 126
20.1.3 通知 127
20.2 实践项目 127
20.2.1 每日金句电子邮件 127
20.2.2 每日金句推送通知 128
第 21 章 绘制图形和操作图像 129
21.1 习题 130
21.1.1 计算机图像基础 130
21.1.2 使用 Pillow 操作图像 130
21.1.3 在图像上绘画 132
21.1.4 使用剪贴板复制并粘贴图像 132
21.1.5 使用 Matplotlib 绘图 133
21.2 实践项目 133
21.2.1 雪人图像生成程序 133
21.2.2 彩虹旗图像生成程序 134
21.2.3 剪贴板图像记录程序 134
第 22 章 识别图像中的文本 135
22.1 习题 136
22.1.1 安装 Tesseract 和 PyTesseract 136
22.1.2 OCR 基础知识 136
22.1.3 识别非英语文本 136
22.1.4 扫描器应用程序 NAPS2 137
22.2 实践项目 137
22.2.1 可搜索的 Web 漫画 137
22.2.2 改善文本提取效果 138
第 23 章 控制键盘和鼠标 139
23.1 习题 140
23.1.1 从故障中恢复 140
23.1.2 控制鼠标移动 140
23.1.3 控制鼠标交互 141
23.1.4 规划鼠标移动 141
23.1.5 截屏 142
23.1.6 图像识别 142
23.1.7 获取窗口信息 143
23.1.8 控制键盘 143
23.2 实践项目 143
23.2.1 模仿杰克逊·波洛克作画的机器人 144
23.2.2 鼠标移动记录程序 145
23.2.3 重放鼠标移动轨迹 145
第 24 章 文本转语音引擎和语音识别引擎 146
24.1 习题 147
24.1.1 文本转语音引擎 147
24.1.2 语音识别 147
24.1.3 创建字幕文件 148
24.1.4 从网站下载视频 148
24.2 实践项目 149
24.2.1 让计算机讲敲门笑话 149
24.2.2 让计算机唱歌 149
24.2.3 在播客中查找单词 150
答案 152
第 1 章 Python 基础 152
第 2 章 If-Else 和流程控制 156
第 3 章 循环 160
第 4 章 函数 163
第 5 章 调试 167
第 6 章 列表 170
第 7 章 字典与数据结构化 174
第 8 章 字符串与文本编辑 178
第 9 章 使用正则表达式匹配文本模式 182
第 10 章 读写文件 186
第 11 章 组织文件 190
第 12 章 设计并部署命令行程序 193
第 13 章 Web 内容爬取 197
第 14 章 Excel 电子表格 204
第 15 章 Google Sheets 208
第 16 章 SQLite 数据库 211
第 17 章 PDF 和 Word 文档 215
第 18 章 CSV、JSON 和 XML 文件 221
第 19 章 记录时间、调度任务和启动程序 226
第 20 章 发送电子邮件、短信和通知 230
第 21 章 绘制图形和操作图像 233
第 22 章 识别图像中的文本 239
第 23 章 控制键盘和鼠标 241
第 24 章 文本转语音引擎和语音识别引擎 245