Python中的二进制文件2025年1月5日 | 阅读 7 分钟 二进制文件是包含二进制格式数据的计算机文件。数据表示为一系列字节,每个字节长八位。要解释二进制文件的内容,必须使用能够理解内容格式和如何读取数据的程序或硬件处理器。二进制文件包括许多文件类型,例如可执行文件、库、图形、数据库、存档等。 ![]() Python 中的二进制文件以不供人类阅读的格式存储数据。这些文件可以包含各种类型的数据,例如图像、音频、视频、压缩存档或任何非纯文本格式的数据。在 Python 中处理二进制文件需要以原始字节的形式读取和写入数据。 创建二进制文件与文本文件不同,创建二进制文件需要以人类无法读取的格式写入数据。使用 Python 等编程语言可以轻松创建二进制文件。这是一个简单的 Python 示例。 程序输出 Binary file has been created successfully. 说明
注意:如果您想在特定文件夹中创建二进制文件,请复制路径并将其替换为 C:/Users/HP/OneDrive/Desktop/example.bin' 而不是 example.bin。代码行如下所示 with open('C:/Users/HP/OneDrive/Desktop/example.bin', 'wb') as binary_file 打开二进制文件要处理二进制文件,请使用相应的文件模式:“rb”用于读取二进制文件,“wb”用于写入二进制文件。 读取二进制文件在 Python 中,打开二进制文件进行读取时,请使用专门为二进制数据设计的“rb”模式。这是一个简单的示例 程序输出 b'Hello' 说明前面的代码只是以“rb”模式打开文件进行读取,并将文件中的数据保存在 binary_data 中。然后使用 print 语句打印数据。 写入二进制文件在 Python 中,打开二进制文件进行写入时,请使用专门为二进制数据设计的“wb”模式。这是一个简单的示例程序。 程序输出 data has been successfully written into the file 说明在此示例中
追加二进制数据程序输出 data is successfully written into the file 说明
注意 请注意,两个文件操作之间存在重要区别:追加和写入。 “写入”操作将擦除文件中的任何现有内容,并在文件已存在时从开头开始写入。另一方面,“追加”操作会将光标移到文件末尾,并添加新内容而不会擦除任何内容。 因此,如果您想保留文件中的现有内容并添加新内容,则应使用“追加”操作。但是,如果您从头开始,并在写入新内容之前擦除文件中的所有内容,则应使用“写入”操作。 定位和读取特定位置
程序输出b'orl' 说明with open('example.bin', 'rb') as binary_file: 此行以二进制读取模式('rb')打开名为 'example.bin' 的文件。with 语句用于确保在执行代码块后正确关闭文件。 binary_file.seek(5) 此行使用 seek 方法将文件光标移动到文件中的第 5 个字节。 seek 方法用于在文件内定位光标。在这种情况下,它会将光标从文件开头移动五个字节。 data = binary_file.read(3) 此行从文件光标的当前位置读取 3 个字节。 read 方法从光标的当前位置读取指定数量的字节。在这种情况下,它从第 5 个字节开始读取 3 个字节。 用于二进制数据结构的 struct 模块struct 模块可用于打包和解包二进制数据结构。它确保数据格式正确,以在不同平台之间保持一致性。 pack 函数将格式字符串和一组值转换为打包的二进制字符串。另一方面,unpack 函数接受格式字符串和打包的二进制字符串,并返回一个包含解包值的元组。格式字符串由格式代码组成,这些代码表示每个值的类型和大小。 格式代码 整数格式
浮点格式
字符格式
示例 这是一个使用 struct 模块打包数据的示例程序 程序 输出 b'*\x00\x00\x00\xc3\xf5H@\x07\x00' 说明 该程序使用 struct.pack 方法成功将数据打包为二进制格式,然后将打包的数据保存到名为 'binary_data.bin' 的二进制文件中。该文件中存储的二进制数据的十六进制表示形式为 (b'*x00x00x00xc3xf5H@x07x00')。 让我们分解一下输出
使用 struct 模块解包数据 示例 这是一个解包文件中数据的简单程序。 程序 输出 (42, 3.140000104904175, 7) 说明 struct.unpack 函数根据打包过程中使用的格式字符串(我们使用了 Ifh 格式)将二进制数据转换回其原始值。 结论由于二进制文件不可读,因此它们需要 Python 中的专门处理。处理二进制文件时,使用正确的模式至关重要,例如“rb”用于读取,“wb”用于写入,“ab”用于追加。read() 方法用于从二进制文件读取,允许检索完整内容或定义数量的字节。write() 方法用于向二进制文件写入,并且数据必须表示为字节。struct 模块在处理结构化二进制数据时非常有用,它提供用于打包和解包数据的函数,以确保跨平台的一致性。此模块对于处理二进制数据结构、确保格式正确和兼容性非常有用。无论您是存储照片、音频还是视频,理解 Python 中二进制文件操作的复杂性对于有效的数据操作都至关重要。 |
在图像和视频处理领域,质量评估指标在评估重建或压缩图像的保真度方面起着至关重要的作用。其中一项指标是峰值信噪比 (PSNR),它提供了图像质量的量化度量。
阅读 3 分钟
简介 有时,我们需要存储大量数据并快速访问它。但是,管理许多文件可能会很麻烦。这时 HDF5 文件就派上用场了。它们允许我们将大量数据存储在高格式二进制中,确保...
阅读 4 分钟
引言 计算机科学和各种实际领域(包括基于地图的路线规划、网络路由等)中的一个核心问题。解决此类问题可以使用称为统一成本搜索 (UCS) 的算法。本书将彻底讨论统一成本搜索...
11 分钟阅读
Python 中的 os 模块包含了 os.fsync() 方法,它提供了与操作系统的接口。文件描述符的写缓冲区通过这种特殊技术被刷新到底层存储设备。简而言之,它保证了对文件的所有修改都...
阅读 4 分钟
简介 Python 是一种流行的编程语言,以其简洁性和可读性而闻名。使 Python 如此多功能的一个关键特性是其包管理系统。Python 包是模块和库的集合,允许开发人员扩展语言的功能。一个重要的...
阅读 3 分钟
引言 数据处理和计算机编码与数据科学及其他分析方法密不可分。随着 Python 库数量的不断增长,这门语言为数据处理等任务提供了强大的武器库,而这些任务传统上是 Pandas 的基准。Panda 是一个非常多功能的...
7 分钟阅读
在 Python 中,os.path 模块允许您通过验证路径是否存在、确定给定路径是指向文件还是目录、连接路径、分割路径等来与文件系统进行交互。在其众多函数中,os.path.isdir() 对于...尤其有用。
阅读 3 分钟
简介前导零是Python中格式化数字的一种便捷方式,通常用于确保数字宽度一致,尤其是在显示日期或唯一标识符等情况下。在Python中,您可以使用字符串格式添加前导零。假设您有...
阅读 3 分钟
文档是存储在计算机上特定标题下的数据或详细信息的汇编。它可能是记录、图片、电影、软件或任何其他类型的信息。文档可能附带显示其扩展名的附件,例如 .txt,...
5 分钟阅读
当今开发平台中的数据库处理需要灵活、易于嵌入且功能丰富的实用程序,以便有效地处理过大的表。使用 FileMaker 数据库进行开发的开发人员会发现 `pyfilemaker2' 是一个不错的解决方案。该库使您可以轻松地使用 FileMaker...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India