
Python二进制文件读写详解
Python 提供了便捷的方式来处理二进制文件。 使用 open() 函数并指定合适的模式即可实现二进制文件的读取和写入。
读取二进制文件:
要读取二进制文件,需使用 'rb' 模式打开文件。 rb 代表 read binary。
立即学习“Python免费学习笔记(深入)”;
<code class="python">with open('binary_file.bin', 'rb') as file:
binary_data = file.read()</code>
file.read() 方法将整个文件内容读取到 binary_data 变量中,这是一个 bytes 对象,包含文件的原始二进制数据。 你可以对这个 bytes 对象进行各种操作,例如:
-
查看数据长度:
len(binary_data) -
将数据写入另一个文件:
with open('output.bin', 'wb') as outfile: outfile.write(binary_data) -
逐块读取:
file.read(1024)一次读取1024字节。
写入二进制文件:
写入二进制文件需要使用 'wb' 模式打开文件。 wb 代表 write binary。 你需要确保写入的数据是 bytes 类型。
<code class="python">binary_data = b'\x00\x01\x02\x03' # 例如,一个bytes对象
with open('new_binary_file.bin', 'wb') as file:
file.write(binary_data)</code>
file.write() 方法将 binary_data 中的 bytes 对象写入文件。 如果你的数据是其他类型(例如字符串),需要先将其编码为 bytes 类型:
<code class="python">text_data = "Hello, world!"
binary_data = text_data.encode('utf-8') # 使用utf-8编码
with open('text_as_binary.bin', 'wb') as file:
file.write(binary_data)</code>
记住,读取时,如果需要将 bytes 对象转换为可读的文本,需要进行解码:
<code class="python">with open('text_as_binary.bin', 'rb') as file:
binary_data = file.read()
text_data = binary_data.decode('utf-8')
print(text_data)</code>
选择合适的编码方式(例如 'utf-8', 'latin-1' 等)取决于你文件的实际编码。 错误的编码方式会导致解码错误。










