python文件对象读写二进制文件

简介: 【6月更文挑战第7天】

image.png
在Python中,你可以使用内置的open()函数来打开文件,并通过设置mode参数为'rb'(读取二进制)或'wb'(写入二进制)来操作二进制文件。以下是一些示例:

读取二进制文件

# 打开二进制文件进行读取
with open('example.bin', 'rb') as file:
    # 读取整个文件内容
    content = file.read()

# content现在是一个bytes对象,你可以根据需要对其进行处理
print(content)

# 如果你需要将其转换为字符串(例如,如果它是一个ASCII编码的文本文件),你可以这样做:
# 注意:这仅适用于文本文件,并且文件必须是ASCII或类似的可打印字符集编码的
if isinstance(content, bytes):
    text = content.decode('ascii')  # 或者使用'utf-8'等其他编码
    print(text)

写入二进制文件

# 要写入的数据,可以是一个bytes对象,一个bytearray对象,或者一个可迭代对象(如列表),其中的元素是0-255之间的整数
data = b'\x00\x01\x02\x03\x04'  # 这是一个bytes对象

# 打开二进制文件进行写入(如果文件已存在,它将被覆盖)
with open('example.bin', 'wb') as file:
    file.write(data)

# 现在example.bin文件包含了bytes对象data的内容

注意:当处理二进制文件时,你通常会得到bytesbytearray对象,而不是字符串。这些对象用于表示原始字节数据,它们可以用于各种二进制操作,如网络编程、图像处理、加密等。如果你需要将二进制数据转换为字符串(例如,为了打印或存储在文本文件中),你需要确保你知道数据的编码,并使用正确的编码进行解码。但是,请注意,将二进制数据解码为字符串可能会丢失数据(如果数据不是有效的文本)或导致其他问题(如果使用了错误的编码)。

目录
相关文章
|
15天前
|
数据格式 Python
【Python】已解决:Excel无法打开文件test.xIsx“,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。
【Python】已解决:Excel无法打开文件test.xIsx“,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。
56 0
|
11天前
|
安全 网络安全 数据安全/隐私保护
`certifi`是一个Python包,它提供了一个包含Mozilla证书颁发机构(CA)Bundle的PEM文件。
`certifi`是一个Python包,它提供了一个包含Mozilla证书颁发机构(CA)Bundle的PEM文件。
|
9天前
|
机器学习/深度学习 数据可视化 TensorFlow
使用Python实现深度学习模型:图像语义分割与对象检测
【7月更文挑战第15天】 使用Python实现深度学习模型:图像语义分割与对象检测
29 2
|
11天前
|
存储 对象存储 Python
`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它不需要Microsoft Excel,也不需要.NET或COM组件。
`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它不需要Microsoft Excel,也不需要.NET或COM组件。
|
12天前
|
Python
|
16天前
|
缓存 Shell 开发工具
[oeasy]python024_vim读取文件_从头复制到尾_撤销_重做_reg_寄存器
[oeasy]python024_vim读取文件_从头复制到尾_撤销_重做_reg_寄存器
18 5
|
14天前
|
Python
python存取yaml文件
python存取yaml文件
|
11天前
|
Python
`matplotlib`是Python中一个非常流行的绘图库,它提供了丰富的绘图接口,包括二维和三维图形的绘制。`Axes3D`是`matplotlib`中用于创建三维坐标轴的对象,而`plot_surface`则是用于在三维空间中绘制表面的函数。
`matplotlib`是Python中一个非常流行的绘图库,它提供了丰富的绘图接口,包括二维和三维图形的绘制。`Axes3D`是`matplotlib`中用于创建三维坐标轴的对象,而`plot_surface`则是用于在三维空间中绘制表面的函数。
|
11天前
|
存储 Python
`tempfile`模块在Python中用于创建临时文件和目录。
`tempfile`模块在Python中用于创建临时文件和目录。
|
14天前
|
Unix Linux C++
相对路径vs绝对路径 python文件的添加与删除
相对路径vs绝对路径 python文件的添加与删除