python分别使用pickle和struct 写入和读取二进制文件
时间: 2024-02-28 22:55:48 浏览: 20
使用pickle写入和读取二进制文件:
```python
import pickle
# 写入二进制文件
data = {"name": "Alice", "age": 20, "gender": "female"}
with open("data.pickle", "wb") as f:
pickle.dump(data, f)
# 读取二进制文件
with open("data.pickle", "rb") as f:
data = pickle.load(f)
print(data)
```
使用struct写入和读取二进制文件:
```python
import struct
# 写入二进制文件
data = {"name": "Alice", "age": 20, "gender": "female"}
with open("data.bin", "wb") as f:
name = data["name"].encode("utf-8")
gender = data["gender"].encode("utf-8")
f.write(struct.pack("10sif10s", name, data["age"], gender))
# 读取二进制文件
with open("data.bin", "rb") as f:
data = struct.unpack("10sif10s", f.read())
name = data[0].decode("utf-8").rstrip('\x00')
age = data[1]
gender = data[2].decode("utf-8").rstrip('\x00')
print({"name": name, "age": age, "gender": gender})
```