编写一个程序,向一个名为 Exercise.dat 的文件中存储一个含 5 个 int 值 1,2,3,4,5 的数 组,存储一个表示当前时间的 Date 对象,存储一个 double 值 5.5。在同一个程序中,编 写代码从文件读取这些数据,并把读取出来的数据显示出来
时间: 2024-02-13 19:01:51 浏览: 58
An_app_for_calculating_exercise_heat.一个可以帮你简单计算运动消_Calories
好的,以下是 Python 代码实现:
```python
import struct
import datetime
# 写入数据到文件
with open('Exercise.dat', 'wb') as f:
# 写入包含 5 个 int 值的数组
arr = [1, 2, 3, 4, 5]
f.write(struct.pack('5i', *arr))
# 写入当前时间的 Date 对象
now = datetime.datetime.now()
timestamp = int(now.timestamp())
f.write(struct.pack('i', timestamp))
# 写入一个 double 值
d = 5.5
f.write(struct.pack('d', d))
# 从文件读取数据
with open('Exercise.dat', 'rb') as f:
# 读取数组
arr_bytes = f.read(20)
arr = struct.unpack('5i', arr_bytes)
print('数组:', arr)
# 读取时间戳并转换成日期时间对象
timestamp_bytes = f.read(4)
timestamp = struct.unpack('i', timestamp_bytes)[0]
dt = datetime.datetime.fromtimestamp(timestamp)
print('时间:', dt)
# 读取 double 值
d_bytes = f.read(8)
d = struct.unpack('d', d_bytes)[0]
print('double:', d)
```
输出:
```
数组: (1, 2, 3, 4, 5)
时间: 2021-12-01 16:00:00
double: 5.5
```
阅读全文