Python中使用“b”修饰符打开文件的作用是什么?
如果我们使用 b 修饰符在Python中打开文件,则使用 ** “b”** 修饰符会以二进制模式打开文件。“二进制”文件是指格式中不包含可读字符的文件,如MP3音频文件、Word或PDF文本格式和JPEG或GIF图像文件等。自动以文本模式打开文件Python。在选择模式时,需要包括字母“b”,表示二进制模式。
默认情况下,open()函数以文本格式打开文件。因此,“wb”模式以二进制格式打开文件进行写入,而“rb”选项以二进制格式打开文件进行读取。与文本文件不同,二进制文件不可读取。可以使用任何文本编辑器打开数据,但是不可用。
更多Python相关文章,请阅读:Python 教程
以二进制格式打开文件的不同模式
以下是以二进制格式打开文件的不同模式:
b - 二进制模式打开。
ab - 它以二进制格式打开文件,但在其他方面与模式完全相同(在模式中,文件以附加模式打开,如果存在文件,则指针位于文件末尾;否则,将为写入创建新文件)。
示例
以下是以ab模式打开文件的示例 –
# 打开文件
file=open("file.txt", "ab")
print("文件名:", file.name)
print("打开模式:", file.mode)
输出
以下是上面示例的输出
文件名:file.txt
打开模式: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("文件已创建")
输出
作为输出,我们可以看到创建了一个名为“files.txt”的新文件。
文件已创建
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+等。