在 Python 中打开文件时,“b”修饰符有什么作用?
如果我们使用b修饰符在 Python 中打开一个文件,则该文件将以二进制模式打开。任何格式不包含可读字符的文件都被称为“二进制”文件。二进制文件包括音频文件(如 MP3)、文本格式(如 Word 或 PDF)和图像文件(如 JPEG 或 GIF)。在 Python 中,文件会自动以文本模式打开。选择模式时,请包含字母“b”以表示二进制模式。
默认情况下,`open()` 函数以文本格式打开文件。“wb”模式以二进制格式打开文件以进行写入,而“rb”模式以二进制格式打开文件以进行读取。与文本文件不同,二进制文件无法被人阅读。可以使用任何文本编辑器打开数据,但它不可用。
以二进制格式打开文件的不同模式
以下是以二进制格式打开文件的不同模式:
b − 以二进制模式打开。
ab − 以二进制格式打开文件,但在其他方面与 a 模式相同(在 a 模式下,文件以追加方式打开。如果文件存在,则指针位于文件末尾;否则,将创建一个新文件进行写入)。
示例
以下是以 ab 模式打开文件的示例:
# Opening a file file = open("file.txt", "ab") print ("Name of the file: ", file.name) print ("Opening mode : ", file.mode)
输出
以下是上述示例的输出
Name of the file: file.txt Opening mode : ab
ab+ − 以二进制格式打开文件,但在其他方面与 a+ 模式类似(a+ 模式允许读取和追加到文件。如果文件已存在,则文件指针位于文件末尾;否则,将创建一个新文件进行读取和写入)。
wb − 与 w 模式类似,但以二进制格式打开文件(w 模式通过打开文件启用写入,替换现有文件,如果现有文件不存在则创建一个新文件)。
示例
以下代码创建一个二进制文件,并在其中保存整数列表。在写入之前,列表首先转换为字节数组。`bytearray()`,一个内部函数,返回项目的字节表示。
file=open("files.txt","wb") numbers=[50, 100, 125, 230, 254] array=bytearray(numbers) file.write(array) file.close() print ("File Created")
输出
作为输出,我们可以看到一个名为“files.txt”的新文件。
File Created
wb+ − 以二进制格式打开文件,与 w+ 模式不同(w+ 以读写模式打开文件;其余与 w 模式类似)。
rb − 以二进制模式打开文件,但在其他方面与 r 模式相同(r 模式即只读模式用于打开文件。文件的指针位于文件的开头。此外,这是默认模式)。
示例
file = open('file.txt', 'rb') file_info = file.read() file.close() print ("File Created")
输出
作为输出,我们可以看到一个名为“files.txt”的新文件。
File Created
rb+ − 与 r+ 模式类似,只是以二进制模式打开文件。(r+ 模式打开文件以便可以读取和写入。文件的起始点是指针所在的位置)。
注意 − 所有模式的示例代码都相同,只需根据需要替换模式,例如 rb、rb+、wb、wb+ 等。