5.编写程序,将自己的姓名(字符串),学号(整型)以及成绩(浮点型,自己随意设定即可)三种数据 ,以二进制形式存入文件,并成功读出。读写和存储方式不限。
时间: 2024-11-25 21:10:34 浏览: 37
要将姓名、学号和成绩以二进制形式存入文件并读取,你可以按照以下步骤编写Python程序:
1. 导入必要的模块:
```python
import struct
```
`struct`模块用于处理二进制数据的打包和拆包。
2. 定义数据结构:
```python
self_name = "张三" # 替换为你自己的姓名
student_id = 1234 # 学号
grade = 85.0 # 成绩
# 使用struct.pack()打包数据
data_format = "sii" # s代表字符串,i代表整数,f代表浮点数
binary_data = struct.pack(data_format, self_name.encode('utf-8'), student_id, grade)
```
3. 写入文件:
```python
with open("data.bin", "wb") as file:
file.write(binary_data)
```
这里我们使用了`open()`函数打开一个名为"data.bin"的二进制写入模式。
4. 读取文件:
```python
def read_binary_file(file_path):
with open(file_path, "rb") as file:
data = file.read()
# 使用struct.unpack()解包数据
name, id, grade = struct.unpack(data_format, data)
return name.decode('utf-8'), int(id), float(grade)
read_data = read_binary_file("data.bin")
print(f"Name: {read_data[0]}, ID: {read_data[1]}, Grade: {read_data[2]}")
```
通过`struct.unpack()`,我们可以从二进制数据中恢复原始信息。
阅读全文