当使用Python打开文件时,’b’修饰符有什么作用

当使用Python打开文件时,’b’修饰符有什么作用

如果我们使用 b 修饰符在Python中打开文件,文件将以二进制模式打开,使用 ** ‘b’** 修饰符。任何格式不包含可读字符的文件都被称为“二进制”文件。二进制文件包括像MP3这样的音频文件,像Word或PDF这样的文本格式,以及像JPEG或GIF这样的图像文件。文件在Python中默认以文本模式打开。选择模式时,加上字母“b”表示二进制模式。

默认情况下,open()函数以文本格式打开文件。因此,”wb”模式以二进制格式打开文件进行写入,而”rb”选项以二进制格式打开文件进行读取。与文本文件不同,二进制文件不可被人类读取。任何文本编辑器都可以用来打开数据,但不可用于读取。

以二进制格式打开文件的不同模式

以下是以二进制格式打开文件的不同模式:

b -二进制模式打开。

ab -以二进制格式打开文件,但与模式相同(在模式中,文件以追加模式打开。如果文件存在,指针位于文件末尾;否则,将创建一个新文件进行写入)。

示例

以下是以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+模式打开文件以便读写,文件的起始位置是指针所在的位置)。

Note − 所有模式的示例代码都是相同的,只需根据需要替换模式,例如 rb、rb+、wb、wb+等等。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程