主观题:使用pickle存取二进制文件 - 实验17 文件读写 - 《Python编程基础及应用实验教程》 - 高教社
json文件是文本文件,其用字符串形式保存数值内容,效率较低。比如,3.1415926,如果使用字符串形式表示,至少需要9个字节,但如果使用4字节浮点数表示,则只需4个字节。
为了提高文件的空间利用效率、或者加快文件存取速度,有时我们会使用二进制格式文件。pickle模块可以帮助我们快速地把对象序列化并存储至文件。
python
years = [2020,2019,2018,2017,2016]
incomes = { '北京市':[5483.89,5817.10,5785.92,5430.79,5081.26],
'天津市':[1923.05,2410.41,2106.24,2310.36,2723.50],
'上海市':[7046.30,7165.10,7108.15,6642.26,6406.13],
'重庆市':[4257.98,4070.83,3911.01,3577.99,3388.85] }
任务1: 下述代码将years列表和incomes字典存储至二进制文件IncomesData.dat,并从该文件读取还原。请将下述程序补充完整,并调试运行。

任务2: 上述代码第11行运行所得的文件尺寸为多少字节?
请提交一个pdf文件,包括:
1. 程序截图(程序第10行应有包括你学号及姓名的注释);
2. 运行结果截图;
3. 操作系统文件夹中显示的IncomesData.dat的尺寸信息截图。
<br>**拼尽全力还是不会?参考B站习题讲解**<br>哔哩哔哩up主:[海洋饼干叔叔](https://space.bilibili.com/384177380) [Python课程](https://www.bilibili.com/video/BV1kt411R7uW/) [Python习题](https://www.bilibili.com/video/BV1iL411t7UZ/)[简洁的C和C++](https://www.bilibili.com/video/BV1it411d7zx/)作者每天分享一篇关于C/C++/Python的技术文章,学习编程不迷路。
答案:程序第10行应有包括你学号及姓名的注释
为了提高文件的空间利用效率、或者加快文件存取速度,有时我们会使用二进制格式文件。pickle模块可以帮助我们快速地把对象序列化并存储至文件。
python
years = [2020,2019,2018,2017,2016]
incomes = { '北京市':[5483.89,5817.10,5785.92,5430.79,5081.26],
'天津市':[1923.05,2410.41,2106.24,2310.36,2723.50],
'上海市':[7046.30,7165.10,7108.15,6642.26,6406.13],
'重庆市':[4257.98,4070.83,3911.01,3577.99,3388.85] }
任务1: 下述代码将years列表和incomes字典存储至二进制文件IncomesData.dat,并从该文件读取还原。请将下述程序补充完整,并调试运行。

任务2: 上述代码第11行运行所得的文件尺寸为多少字节?
请提交一个pdf文件,包括:
1. 程序截图(程序第10行应有包括你学号及姓名的注释);
2. 运行结果截图;
3. 操作系统文件夹中显示的IncomesData.dat的尺寸信息截图。
<br>**拼尽全力还是不会?参考B站习题讲解**<br>哔哩哔哩up主:[海洋饼干叔叔](https://space.bilibili.com/384177380) [Python课程](https://www.bilibili.com/video/BV1kt411R7uW/) [Python习题](https://www.bilibili.com/video/BV1iL411t7UZ/)[简洁的C和C++](https://www.bilibili.com/video/BV1it411d7zx/)作者每天分享一篇关于C/C++/Python的技术文章,学习编程不迷路。
答案:程序第10行应有包括你学号及姓名的注释