Python编程从入门到实践(第3版)封面图
内容简介
享誉全球的Python入门书,影响了超过250万读者。本书适合对 Python 感兴趣的所有读者阅读。
本书英文名:Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming
本书是针对所有层次的 Python 读者而作的 Python 入门书。全书分为两部分:
第一部分介绍使用Python 编程所必须了解的基本概念,包括强大的 Python 库和工具,以及列表、字典、if 语句、类、文件和异常、测试代码等内容;
第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的 2D 游 戏、利用数据生成交互式的信息图以及创建和定制简单的 Web 应用程序,并帮助读者解决常见编程问题和困惑。
第 3 版进行了全面修订:使用了文本编辑器 VS Code,新增了介绍 removeprefix() 方法和removesuffix() 方法的内容,并且在项目中利用了Matplotlib 和 Plotly 的最新特性,等等。
作者简介
埃里克·马瑟斯(Eric Matthes)
缔造技术图书销售奇迹的作家,作品影响了全球数百万读者。
致力于推动Python编程在全球的普及。执教计算机科学和数学25年,教学风格轻松有趣,深受学生喜爱。他对编程的热爱和丰厚的教学经验淋漓尽致地体现在了蟒蛇书《Python编程:从入门到实践》中。
蟒蛇书备受读者推崇。无论是熟练掌握其他编程语言的程序员,还是年仅10岁的萌新,都是本书拥趸。该书在全球范围内被翻译为12种语言,累计热销近300万册,其中仅中文版前两版的销量就超过了120万册。
文章目录
- 第 11 章 - 组织文件
- `shutil` 模块
- 复制文件和文件夹
- 移动和重命名文件和文件夹
- 永久删除文件和文件夹
- 安全删除
- 遍历目录树
- 使用 `zipfile` 模块压缩文件
- 读取 ZIP 文件
- 从 ZIP 文件中提取
- 创建和添加到 ZIP 文件
- 总结
- 练习题
- ====================
- 第 11 章 - 组织文件
- `shutil` 模块
- 复制文件和文件夹
- 移动和重命名文件和文件夹
- 永久删除文件和文件夹
- 安全删除
- 遍历目录树
- 使用 `zipfile` 模块压缩文件
- 读取 ZIP 文件
- 从 ZIP 文件中提取
- 创建和添加到 ZIP 文件
- 总结
- 练习题
- ====================
- 第 12 章 - 设计和部署命令行程序
- `sys.argv`
- `argparse` 模块
- 使用 Shebang 行
- 使用 `pyinstaller` 打包
- 总结
- 练习题
- ====================
- 第 13 章 - 网页抓取
- `webbrowser` 模块
- 使用 `requests` 模块从网络下载文件
- 检查错误
- 将下载的文件保存到硬盘
- 使用 `bs4` 模块解析 HTML
- 从 HTML 创建一个 BeautifulSoup 对象
- 使用 `select()` 方法查找元素
- 从一个元素的属性中获取数据
- 使用 `selenium` 模块控制浏览器
- 启动一个 Selenium 控制的浏览器
- 在页面中查找元素
- 点击页面
- 填写和提交表单
- 发送特殊按键
- 点击浏览器按钮
- 总结
- 练习题
- ====================
- 第 14 章 - Excel 电子表格
- `openpyxl` 模块
- 读取 Excel 文档
- 从工作簿中获取工作表
- 从工作表中获取单元格
- 在列字母和数字之间转换
- 从工作表中获取行和列
- 创建和保存 Excel 文档
- 创建和删除工作表
- 将值写入单元格
- 设置单元格的字体样式
- 公式
- 调整行和列
- 合并和取消合并单元格
- 冻结窗格
- 图表
- 总结
- 练习题
- ====================
- 第 16 章 - SQLite 数据库
- `sqlite3` 模块
- 连接到数据库
- 创建一个游标
- 执行 SQL 语句
- 从数据库中获取数据
- 关闭连接
- 总结
- 练习题
- ====================
- 第 17 章 - PDF 和 Word 文档
- `PyPDF2` 模块
- 从 PDF 中提取文本
- 解密 PDF
- 创建 PDF
- 旋转页面
- 叠加页面
- 加密 PDF
- `python-docx` 模块
- 读取 Word 文档
- 获取完整的文本
- 设置段落和运行的样式
- 创建 Word 文档
- 添加标题
- 添加换行符和换页符
- 添加图片
- 总结
- 练习题
- ====================
- 第 18 章 - CSV、JSON 和 XML 文件
- `csv` 模块
- 读取 CSV 文件
- 在 `for` 循环中读取 CSV 文件
- `DictReader` 对象
- 写入 CSV 文件
- `DictWriter` 对象
- `json` 模块
- 使用 `loads()` 函数读取 JSON
- 使用 `dumps()` 函数写入 JSON
- `xml.etree.ElementTree` 模块
- 读取 XML 文件
- 总结
- 练习题
- ====================
- 第 19 章 - 计时、任务调度和程序启动
- `time` 模块
- `time.time()` 函数
- `time.sleep()` 函数
- `datetime` 模块
- `datetime.datetime` 类型
- `timedelta` 数据类型
- `strftime()` 方法
- `strptime()` 函数
- `threading` 模块
- 将函数传递给 `Thread` 的 `target` 关键字参数
- 将参数传递给线程的目标函数
- `subprocess` 模块
- `subprocess.Popen()` 函数
- `wait()` 方法
- 使用 `timeout` 参数
- `poll()` 方法
- 总结
- 练习题
- ====================
- 第 20 章 - 发送电子邮件、短信和推送通知
- `smtplib` 模块
- 连接到 SMTP 服务器
- 发送 SMTP 的 "Hello" 消息
- 启动 TLS 加密
- 登录到 SMTP 服务器
- 发送电子邮件
- 从 SMTP 服务器断开连接
- `imapclient` 和 `pyzmail` 模块
- 连接到 IMAP 服务器
- 登录到 IMAP 服务器
- 搜索电子邮件
- 获取和解析电子邮件
- 从电子邮件中获取正文
- 删除电子邮件
- `twilio` 模块
- 发送短信
- 总结
- 练习题
- ====================
- 第 21 章 - 制作图表和处理图像
- `matplotlib` 模块
- 创建一个简单的折线图
- 添加标题和标签
- 创建条形图
- 创建饼图
- 保存图表
- `Pillow` 模块
- 打开图像
- 裁剪图像
- 复制和粘贴图像
- 调整图像大小
- 旋转和翻转图像
- 在图像上绘图
- 在图像上绘制文本
- 总结
- 练习题
- ====================
- 第 22 章 - 识别图像中的文本
- `pytesseract` 模块
- 从图像中提取文本
- 总结
- 练习题
- ====================
- 第 23 章 - 控制键盘和鼠标
- `pyautogui` 模块
- 屏幕和鼠标函数
- 鼠标移动
- 鼠标点击
- 鼠标滚动
- 键盘函数
- 快捷键组合
- 屏幕截图函数
- 图像识别
- 总结
- 练习题
- ====================
- 第 24 章 - 文本到语音和语音识别引擎
- `pyttsx3` 模块
- 将文本转换为语音
- 更改语音
- 更改语速
- 更改音量
- `SpeechRecognition` 模块
- 将语音转换为文本
- 总结
- 练习题
- ====================
- 附录 A - 安装第三方包
- `pip` 工具
- 安装一个包
- 升级一个包
- 卸载一个包
- 总结
- ====================
- Original Title: Appendix B - Answers to the Practice Questions Translated Title: 附录 B - 练习题答案 Original URL: https://automatetheboringstuff.com/3e/appendixb.html Crawl Date: 2026-01-14 Edition: 3e
- 附录 B - 练习题答案
- 第 1 章
- 第 2 章
- 第 3 章
- 第 4 章
- 第 5 章
- 第 6 章
- 第 7 章
- 第 8 章
- 第 9 章
- 第 10 章
- 第 11 章
- 第 12 章
- 第 13 章
- 第 14 章
- 第 15 章
- 第 16 章
- 第 17 章
- 第 18 章
- 第 19 章
- 第 20 章
- 第 21 章
- 第 22 章
- 第 23 章
- 第 24 章
Original Title: Chapter 11 - Organizing Files
Translated Title: 第 11 章 - 组织文件
Original URL: https://automatetheboringstuff.com/3e/chapter11.html
Crawl Date: 2026-01-14
Edition: 3e
第 11 章 - 组织文件
到目前为止,你已经学习了如何使用 Python 来处理单个文件。在本章中,你将学习如何使用 Python 来处理文件夹和文件集合。
shutil模块
shutil模块包含了用于处理文件和文件夹的函数。
复制文件和文件夹
你可以使用shutil.copy()函数来复制一个文件。shutil.copy()函数有两个参数:要复制的文件的路径和一个目标路径。
在交互式 shell 中输入以下内容:
>>>importshutil