跳至主要内容

二进制文件

Binary Files in Python

二进制文件是计算机文件,其中包含机器可以轻松读取和处理的格式的数据。二进制文件很重要,因为它们允许程序员以既高效又安全的方式处理数据。本文将讨论 Python 中二进制文件的基础知识、如何读写它们以及它们最有利的一些常见用例。

如何读取二进制文件

在 Python 中,我们可以使用 open() 函数打开二进制文件并读取内容。

以读取模式打开二进制文件

file = open("example.bin", "rb")

# Read the contents of the file and store it in a variable
binary_data = file.read()

# Close the file
file.close()

# Print the contents of the file
print(binary_data)

在上面的代码中

  • 我们使用 open() 函数打开二进制文件 example.bin,模式为 rb(读取二进制)。
  • 我们使用 .read() 方法读取文件的内容并将其存储在变量 binary_data 中。
  • 我们使用 .close() 方法关闭文件。
  • 我们使用 print() 函数打印文件的内容。

使用 with 语句以读取模式打开二进制文件

with open("example.bin", "rb") as file:
    binary_data = file.read()

# Print the contents of the file
print(binary_data)

在上面的代码中

  • 我们使用 open() 函数和模式 rb(读取二进制)使用 with 语句打开二进制文件 example.bin
  • 我们使用 .read() 方法读取文件的内容并将其存储在变量 binary_data 中。
  • 我们使用 print() 函数打印文件的内容。

使用 with 语句 打开文件可确保在读取其内容后自动关闭文件。

如何写入二进制文件

要写入二进制文件,你需要使用内置的 open() 函数,模式参数为 wb。这将在二进制模式下打开文件,允许你向其中写入二进制数据。以下是写入二进制文件的步骤

  1. 使用模式参数 wb 使用 open() 函数以二进制模式打开文件。
  2. 使用文件对象的 write() 方法将二进制数据写入文件。
  3. 使用文件对象的 close() 方法关闭文件。

以二进制模式打开文件

file = open('binaryfile.bin', 'wb')
try:
    ##### Write binary data to file

    file.write(b'\x00\x01\x02\x03\x04\x05')
finally:
    ### Close the file

    file.close()

总之,写入二进制文件是一个简单的过程,包括以二进制模式打开文件并使用文件对象的 write() 方法向其中写入二进制数据。

二进制文件的文件模式列表

在处理二进制文件时,你需要以正确的文件模式打开它们,以确保正确读取和/或写入文件。二进制文件有六种文件模式

  1. rb:读取模式(二进制) - 以二进制格式打开文件进行读取。
  2. rb+:读取和写入模式(二进制) - 以二进制格式打开文件进行读取和写入。
  3. wb:写入模式(二进制) - 以二进制格式打开文件进行写入。如果文件已存在,它将被截断。
  4. wb+:写入和读取模式(二进制) - 以二进制格式打开文件进行读取和写入。如果文件已存在,它将被截断。
  5. ab:追加模式(二进制) - 以二进制格式打开文件进行写入。新数据将被写入到文件末尾。
  6. ab+:追加和读取模式(二进制) - 以二进制格式打开文件进行读取和写入。新数据将被写入到文件末尾。
with open("file.bin", "rb") as f:
    data = f.read()
    print(data)

此代码使用 with 语句以读取模式打开名为 file.bin 的二进制文件。rb 模式确保文件以二进制格式读取。read() 方法用于读取整个文件,然后将内容打印到控制台。

with open("file.bin", "wb") as f:
    data = b"\x48\x65\x6c\x6c\x6f" # Hello in binary
    f.write(data)

此代码使用 with 语句以写入模式创建名为 file.bin 的二进制文件。wb 模式确保文件以二进制格式写入。字符串字面值前面的 b 前缀表示字符串为二进制格式。write() 方法用于将二进制数据写入文件。此代码将字符串 Hello 的二进制数据写入文件。

与我们一起贡献!

不要犹豫,在 GitHub 上为 Python 教程做出贡献:创建分支,更新内容并发出拉取请求。

Profile picture for user AliaksandrSumich
Python 工程师,第三方 Web 服务集成专家。
更新:05/03/2024 - 21:52
Profile picture for user angarsky
已审阅并批准