python读写二进制文件的方法

yizhihongxing

当我们需要读写二进制文件时,常规的读写方式是不能完全满足需要的,此时,我们需要使用Python提供的专门针对二进制文件数据读写的函数。下面将详细介绍Python读写二进制文件的方法。

什么是二进制文件

在计算机存储中,文件是在硬盘等存储设备上保存的,而硬盘上的二进制文件,是由0和1组成的一长串数据。这些文件被称为二进制文件。

在Python中,我们通常称那些文本文件读写时,使用的是字符编码,而二进制文件读写则是直接读入字节流。

读二进制文件

在Python中,要打开并读取一个二进制文件,可以使用内置的open函数来实现。下面是文件打开并读字节的基本格式:

with open("file.bin", "rb") as f:
    byte = f.read(1)  # 读取二进制文件每一个字节
    while byte:
        # 把 byte 从字节类型转换为整型数据
        # 打印 byte 的 ASCII 码表
        print(ord(byte), end=" ")
        byte = f.read(1)  # 再次读取下一个字节

其中:

  • with 语句是 Python 中文件 I/O 的一种常见方式,可以很好地处理文件对象打开和关闭的问题,并且是一种优雅、简单和容错的方式。在离开 with 语句块之后,python 自动关闭文件。
  • 内置函数 open() 打开一个二进制文件,是读二进制文件需要包含的必要代码。第二个参数模式设置为 'rb' , 表示以只读模式读取二进制文件数据。
  • f.read(1) 读取一个字节数据。
  • ord(byte) 将一个字节数据转换为它的十进制 ASCII 码数值形式。

写入二进制文件

写入二进制文件时有几种不同的方式,最常见的是使用 Python 内置的 write() 函数直接将字节字符串写入文件:

with open("output.bin", "wb") as f:
    f.write(b'Hello World!')

其中:

  • as 语句是 Python 中文件 I/O 的一种常见方式之一,与 with 语句一起使用。它们将在文件对象上创建一个上下文环境,然后您可以通过该上下文环境相对而言地操作文件。在离开该上下文环境之后,python 自动关闭文件。
  • 参数模式第二个参数设置为 'wb',表示以bin二进制文件模式打开文件。这个模式下文件操作默认就是二进制。
  • 使用内建函数 write(),把字符串数据作为字节数据写入文件。

另一种向文件写入二进制文件的方式是使用列表、元组等 Python 序列。使用这种方式,可以通过连接或迭代获得完整的二进制文件内容。下面是使用 write() 函数及字节数组进行写入的例子:

with open("output.bin", "wb") as f:
    for byte in [0x10, 0x20, 0xFF]:
        f.write(bytes([byte]))

其中:

  • with 语句是 Python 中文件 I/O 的一种常见方式,可以很好地处理文件对象打开和关闭的问题,并且是一种优雅、简单和容错的方式。在离开 with 语句块之后,python 自动关闭文件。
  • 参数模式第二个参数设置为 'wb',表示以bin二进制文件模式打开文件。
  • 使用内建函数 write(),把列表数据写入文件。要注意的是,需要将字节列表转换为字节数组,即 bytes 对象。bytes 方法是 Python 内置的能够从迭代器或元组数据生成一个新的字节数组。

以上就是Python读写二进制文件的完整攻略,希望可以对你有帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python读写二进制文件的方法 - Python技术站

(0)
上一篇 2023年6月5日
下一篇 2023年6月5日

相关文章

  • python TKinter弹出式菜单的实例方法

    下面是关于“Python TKinter弹出式菜单的实例方法”的详细攻略: 什么是弹出式菜单 弹出式菜单是一种常见的界面元素,它通常在用户右击或按下特定的键时出现,提供了一些与当前上下文相关的选项,帮助用户完成一些特定的操作。 在 Python 的 TKinter 库中,可以使用 Menu 对象来创建弹出式菜单。 创建弹出式菜单 要创建弹出式菜单,可以调用 …

    python 2023年6月13日
    00
  • 解决python便携版无法直接运行py文件的问题

    在使用Python便携版时,有时会遇到无法直接运行.py文件的问题。这个问题通常是由于系统环境变量没有配置正确导致的。本文将详细讲解如何解决这个问题。 解决方法 方法一:配置环境变量 在Windows中,我们需要将Python便携版的路径添加到系统环境变量中。以下是配置环境变量的步骤: 右键点击”电脑”,选择”属性”。 点击”高级系统设置”。 点击”环境变量…

    python 2023年5月13日
    00
  • Python for循环及基础用法详解

    下面我来详细讲解一下“Python for循环及基础用法详解”的完整攻略。 什么是for循环 在Python中,for循环是一种重复执行代码块的结构。它可以遍历任何序列(如列表、元组、字典、字符串等)中的元素,并对每个元素执行指定的操作。 for循环语法 for循环的语法格式如下: for 变量 in 序列: # 执行操作 其中,变量是用于存储序列中每个元素…

    python 2023年5月13日
    00
  • Python实现的对一个数进行因式分解操作示例

    对一个数进行因式分解是数学中的一个重要问题,Python可以很方便地实现这个操作。本文将介绍Python实现对一个数进行因式分解完整攻略,包括两个示例说明。 1. 基本思路 对一个数进行因式分解的基本思路是,从2开始,不断地将这个数除以最小的质因数,直到这个数变成1为止。具体实现如下: def factorize(n): factors = [] i = 2…

    python 2023年5月14日
    00
  • Python argparse命令参数与config配置参数示例深入详解

    Python的argparse库是用于解析命令行参数的标准库,同时配合configparser模块使用可以实现命令行参数与配置文件参数共存。 命令行参数 使用argparse库解析命令行参数,主要包括以下步骤: 定义脚本的参数列表; 实例化ArgumentParser对象; 添加参数的名称、选项、值等信息; 调用parse_args()方法解析参数列表。 下…

    python 2023年6月3日
    00
  • 深入解析python返回函数和匿名函数

    让我来为你详细讲解“深入解析python返回函数和匿名函数”的完整攻略。 深入解析Python返回函数和匿名函数 Python中的函数在很多情况下都可以作为值进行使用,包括返回函数和匿名函数的使用。下面我们就来详细讲解一下。 返回函数 在Python中,函数也可以作为返回值进行使用。一个函数可以返回另一个函数,例如: def outer_func(): de…

    python 2023年6月5日
    00
  • python+appium实现自动化测试的示例代码

    下面是Python+Appium实现自动化测试的完整攻略,包括步骤和示例说明: 1. 确定测试环境 在开始编写测试脚本之前,需要确定好测试环境和设备信息,包括: 安装Python环境 安装Appium 配置测试手机的连接信息(包括手机型号、设备ID等) 2. 编写测试用例 在测试用例编写时,需要确定测试用例的目的和预期结果,根据应用程序的UI设计,编写脚本来…

    python 2023年5月19日
    00
  • Python requests库用法实例详解

    以下是关于Python requests库用法实例的攻略: Python requests库用法实例 requests是一个流行的HTTP库,用于向Web服务器发送HTTP请求和接收响应。以下是Python requests库用法实例的攻略: 发送GET请求 以下是使用requests库发送GET请求的示例: import requests url = ‘h…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部