当我们需要读写二进制文件时,常规的读写方式是不能完全满足需要的,此时,我们需要使用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技术站