February 2024
Intermediate to advanced
316 pages
3h 47m
Chinese
在许多真实世界的程序中,读写文件可能是关键部分。然而,文件的概念有些抽象。在某些情况下,文件可能意味着硬盘上的字节集合;在某些情况下,它可能意味着远程系统上的HTTP资源。这两种情况有一些行为是相同的。例如,你可以从它们中读取一个字节序列。同时,这两种情况并不完全相同。例如,通常可以将字节写回到本地文件,而在使用HTTP资源时,你却无法执行该操作。
在本章中,我们将学习Python对文件的基本支持。处理本地文件比较普遍也比较重要,因此我们将主要关注处理本地文件。但请注意,Python及其生态系统库为许多其他类型的实体(包括基于URI的资源、数据库和许多其他数据源)提供了类似的类文件的API。这种通用API的使用很方便,用它们可以很容易地编写出适用于广泛的数据源的代码而无须任何修改。
在本章中,我们将学习上下文管理器(context manager),它是Python管理资源的主要手段之一。面对异常时,使用上下文管理器可以编写出健壮且可预测的代码,确保在发生错误时能够正确地关闭文件等资源。
要在Python中打开一个本地文件,我们可以使用内置的open()函数。该函数需要一些参数,最常用的是以下几个。
file:文件的路径。这是必需的。 mode:读取、写入、追加二进制或文本。这是可选的,但我们建议始终应明确指出。显式比隐式更好。 encoding:文件包含哪种编码文本数据,就使用哪种编码。最好指定编码。如果不指定它,Python会选择一个默认编码。当然,在文件系统级别上,文件只包含一系列字节。但是,Python会区分以二进制和文本模式打开的文件,即使底层操作系统不区分。当用二进制模式打开一个文件时,你指示Python使用文件中的数据而不需要任何解码。二进制模式文件反映文件中的原始 ...
Read now
Unlock full access