Skip to Content
《Python 编程》,第 4 版
book

《Python 编程》,第 4 版

by Mark Lutz
May 2025
Intermediate to advanced
1632 pages
29h 8m
Chinese
O'Reilly Media, Inc.
Book available
Content preview from 《Python 编程》,第 4 版

第 4 章 文件和目录工具文件和目录工具

本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com

"轻松五步,擦除硬盘!"

本章将继续介绍 Python 的系统接口,重点是与文件和目录相关的工具。正如您将看到的,利用 Python 内置库和标准库的支持,处理文件和目录树非常容易。因为文件是 Python 核心语言的一部分,所以本章的一些内容是对《Learning Python, Fourth Edition》等书中所涉及的文件基础知识的回顾,我们将从这些资源中获取与文件相关的一些概念的更多背景细节。 例如,迭代、上下文管理器和文件对象对 Unicode 编码的支持都会在学习过程中得到演示,但这些主题在此不再赘述。本章的目标是讲述足够多的文件故事,以便让你开始编写有用的脚本。

文件工具

外部文件是我们使用系统实用程序的核心。例如,测试系统可以从一个文件中读取输入,将程序结果存储在另一个文件中,并通过加载另一个文件来检查预期结果。即使是用户界面和面向互联网的程序,也可能从底层计算机的文件中加载二进制图像和音频剪辑。这是编程的核心概念。

在 Python 中,内置的open 函数是脚本用来访问底层计算机系统上文件的主要工具。由于该函数是 Python 语言的固有组成部分,您可能已经熟悉了它的基本工作原理。调用open 函数时,它会返回一个新的 文件对象,该文件对象与外部文件相连;该文件对象有一些方法,可以将数据传入或传出文件,并执行各种与文件相关的操作。open 函数还为底层文件系统提供了一个可移植的接口--它在 Python 运行的每个平台上都以相同的方式工作。

Python 内置的其他与文件相关的模块允许我们做一些事情,比如操作基于描述符的低级文件 (os);复制、删除和移动文件及文件集合 (osshutil);按键值在文件中存储数据和对象 (dbmshelve);访问 SQL 数据库 (sqlite3 和第三方附加组件)。其中后两个类别与数据库主题有关,将在第 17 章中讨论。

在本节中,我们将简要介绍内置的文件对象,并探讨一些与文件相关的高级主题。像往常一样,您应该查阅 Python 的库手册或参考书,如《Python Pocket Reference》,以了解更多细节和方法,我们在这里没有篇幅介绍。请记住,为了获得快速的交互式帮助,您还可以在打开的文件对象上运行dir(file) 来查看包括方法在内的属性列表;help(file) 获取一般帮助;以及help(file.read) 获取特定方法的帮助,如 ,尽管 3.1 中的文件对象实现为 提供的信息少于库手册和其他资源。read help

Python 3.X 中的文件对象模型

就像我们在第 2 章中提到的字符串类型一样,Python 3.X 中的文件支持也比过去丰富了一些。正如我们前面提到的,在 Python 3.X 中str 字符串总是表示 Unicode 文本 (ASCII 或更宽),而bytesbytearray 字符串表示原始二进制数据。Python 3.X 对包含文本和二进制数据的文件进行了类似和相关的区分:

  • 文本文件 包含 Unicode 文本。在脚本中,文本文件内容始终是str字符串--字符序列(技术上称为 Unicode "码位")。文本文件默认执行本章所述的行尾自动转换,并自动将 Unicode 编码应用于文件内容:根据提供的或默认的编码名称,在传输到文件或从文件传输到文件时,将原始二进制字节编码为 Unicode 编码并解码为 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

实用 Python 数据整理与数据质量

实用 Python 数据整理与数据质量

Susan E. McGregor

Publisher Resources

ISBN: 9798341659612Supplemental Content