Python:如何以二进制模式打开文件?

2025年3月5日 | 阅读 3 分钟

在下面的教程中,我们将学习使用 Python 以二进制模式打开文件的方法。但在开始之前,让我们简要讨论一下 Python 中的文件处理。

Python 中的文件处理

Python 中的文件用于读取和写入外部存储。它们提供了一种持久存储和检索数据的方法。Python 内置的 `open()` 函数用于与文件交互。`r`(读取)、`w`(写入并覆盖当前内容)、`'a'`(追加)等模式决定了文件的行为。文件对象支持 `read()`、`readline()`、`write()`、`seek()` 等方法,用于读取、写入、定位等操作。文件在使用后应妥善关闭,最好使用 `with` 语句以确保资源清理。Python 的文件处理简化了与数据存储和检索相关的任务。

Python 中的一些文件处理操作

以下是 Python 中用于文件处理的一些操作:

  1. 打开文件:使用 `open()` 函数打开文件。您需要指定文件名和模式(读取、写入、追加等)。
  2. 从文件读取
    1. `read(size)`:从文件中读取指定数量的字节。
    2. `readline()`:从文件中读取一行。
    3. `readlines()`:读取文件中的所有行并将其作为列表返回。
  3. 写入文件
    1. `write(str)`:将字符串写入文件。
    2. `writelines(lines)`:将行列表写入文件。
  4. 追加到文件:以追加模式('a')打开文件,以在文件末尾添加内容。
  5. 关闭文件:完成文件操作后,使用 `close()` 方法关闭它。或者,使用 `with` 语句确保自动关闭。
  6. 遍历文件:您可以使用 `for` 循环直接遍历文件中的行。
  7. 文件定位
    1. `seek(offset)`:将文件指针移动到所需的字节偏移量。
    2. `tell()`:返回文件指针的当前位置。
  8. 检查文件属性
    1. `name`:返回文件名。
    2. `mode`:返回打开文件时使用的访问模式。
    3. `closed`:如果文件已关闭,则返回 `True`,否则返回 `False`。
  9. 使用二进制文件:使用二进制模式('b')来读取和写入二进制文件。

文件处理的一些优点

  1. 多功能性
  2. 简单性
  3. 平台独立性
  4. 丰富的库
  5. 兼容性

文件处理的一些缺点

  1. 错误处理
  2. 资源管理
  3. 性能
  4. 可扩展性有限
  5. 缺乏低级控制

使用 Python 以二进制模式打开文件

使用 Python 以二进制模式打开文件,就是在调用 `open()` 函数时指定正确的模式参数(读取为 'rb' 或写入为 'wb')。二进制模式确保文件操作以二进制形式而不是文本格式进行,从而保持数据完整性。

Python 文件处理中的二进制模式('b')允许您以二进制格式读写数据,而无需进行任何编码或解码。此模式适用于处理非文本文件,如图像、音频文件、可执行文件等。当文件以二进制模式打开时,数据将按其在文件中的原始样子被读取或写入,而不会进行任何编码转换。

语法

在读取模式下打开文件

在写入模式下打开文件

现在,让我们看下面的示例,演示使用这些方法以二进制模式打开文件的用法。

示例

对于提供的代码,我们假设有一个名为 `binary_data.bin` 的文件,其中包含二进制数据。假设该文件的内容是:

读取部分代码的输出将是:

此输出代表文件 `binary_data.bin` 的原始二进制内容。

对于写入部分代码,它将创建一个名为 `new_binary_data.bin` 的新文件,并将所需的二进制数据写入其中。