使用struct模块写入二进制文件
时间: 2024-10-28 15:11:18 浏览: 9
python读写二进制文件的方法
在Python中,`struct` 模块用于处理字节流,包括读取和写入结构化数据到文件。如果你想使用 `struct` 来写入二进制文件,首先你需要了解各种结构标记(format codes),它们代表了不同类型的数值和它们在内存中的存储方式。
例如,如果你有一个包含整数、浮点数和字符串的简单结构体,你可以这样做:
```python
import struct
# 定义一个结构体类型
class MyStruct:
def __init__(self, integer_value, float_value, string_value):
self.integer_value = integer_value
self.float_value = float_value
self.string_value = string_value.encode('utf-8')
# 写入结构体到文件
def write_to_binary_file(struct_data, filename):
with open(filename, 'wb') as file:
# 对于每个字段应用相应的格式码,然后写入
file.write(struct.pack('<ii16s', struct_data.integer_value, struct_data.float_value, struct_data.string_value))
# 创建一个结构体实例并写入文件
my_struct = MyStruct(42, 3.14, 'Hello')
write_to_binary_file(my_struct, 'example.bin')
阅读全文