《手把手陪您学Python》35——数据的存储

在上一篇《手把手陪您学Python》34——文件的写入中,我们学习了两种文件写入的方法,同时,演示了不同文件打开模式对于读写操作的区别。

今天将要学习的数据的存储其实也是一种文件的写入,只不过之前写入的主要是字符串,而今天我们会使用一种特定的数据格式进行文件的存储和读取,这种格式就是——JSON。

1、JSON

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,具有简洁和清晰的层级结构,既方便人们的阅读和编写,也易于机器的解析和生成,能够有效提升网络传输效率。JSON最初是为JavaScript开发的,但随后成了一种常见的标准化数据格式,被广泛使用在包括Python在内的众多编程语言中。

使用JSON这种标准化的数据格式进行数据存储,能够方便地在不同编程语言以及网络中进行传输和共享。在Python的一个重要应用分支爬虫中,就是使用JSON格式进行网页信息的爬取以及存储的。

关于JSON的具体格式目前还不需要了解太多,后面如果有需要,我们再介绍。

2、JSON数据的存储

我们之前学习的文件写入方法是write()和writelines(),这里写入的内容主要是字符串格式的。如果要写入或者存储JSON格式的数据,需要使用json.dump()函数。

json.dump()函数包括两个参数,一个是要存储的数据内容,另一个是用于存储数据的文件名称(包括路径)。和我们写入文件一样,存储JSON数据前,也需要使用open()打开文件,并选择合适的打开模式。

此外,由于dump()函数并不是Python的内置函数 ,需要先导入json模块才能够使用,之前json.dump()的写法其实也是模块名和函数名的组合。这块可以参考《手把手陪您学Python》30——模块中介绍的内容。

In [1]: import json
        path = 'lesson/text/blank.txt'
        data = '《手把手陪您学Python》1——为什么要学Python?'   # 写入字符串
        with open(path, encoding = 'utf-8', mode = 'w+') as file_object:
            json.dump(data, file_object)

使用json.dump()存储数据后,也同样是没有输出的,如果打开文件,可以看到我们刚刚存储的数据已经保存在了文件中。

3、JSON数据的读取

读取JSON需要json模块里的特定函数json.load(),这样我们就可以把刚才存储的数据读取出来了。

In [2]: import json
        path = 'lesson/text/blank.txt'
        with open(path, encoding = 'utf-8') as file_object:
            print(json.load(file_object))
Out[2]: 《手把手陪您学Python》1——为什么要学Python?

4、其他数据类型的写入和读取

除了刚才演示的字符串,JSON还支持数组和词典的存储,而这两种数据类型正是JSON格式最主要的数据结构组成部分。

In [3]: import json
        path = 'lesson/text/blank.txt'
        data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]   # 写入数组
        with open(path, encoding = 'utf-8', mode = 'w+') as file_object:
            json.dump(data, file_object)
            file_object.seek(0)
            print(json.load(file_object))
Out[3]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
In [4]: import json
        path = 'lesson/text/blank.txt'
        data = {'1': 'a', '2': 'b', '3': 'c'}   # 写入字典
        with open(path, encoding = 'utf-8', mode = 'w+') as file_object:
            json.dump(data, file_object)
            file_object.seek(0)
            print(json.load(file_object))  
Out[4]: {'1': 'a', '2': 'b', '3': 'c'}

以上就是基于JSON数据格式的存储和读取过程,由于我们之前已经学习了文件的读取和写入方法,所以理解这一部分内容会相对比较轻松。

下一篇,我们将会介绍错误和异常处理的方法,敬请关注。

 

图片

 


感谢阅读本文!如有任何问题,欢迎留言,一起交流讨论^_^

要阅读《手把手陪您学Python》系列文章的其他篇目,请关注公众号点击菜单选择,或点击下方链接直达。

《手把手陪您学Python》1——为什么要学Python?

《手把手陪您学Python》2——Python的安装

《手把手陪您学Python》3——PyCharm的安装和配置

《手把手陪您学Python》4——Hello World!

《手把手陪您学Python》5——Jupyter Notebook

《手把手陪您学Python》6——字符串的标识

《手把手陪您学Python》7——字符串的索引

《手把手陪您学Python》8——字符串的切片

《手把手陪您学Python》9——字符串的运算

《手把手陪您学Python》10——字符串的函数

《手把手陪您学Python》11——字符串的格式化输出

《手把手陪您学Python》12——数字

《手把手陪您学Python》13——运算

《手把手陪您学Python》14——交互式输入

《手把手陪您学Python》15——判断语句if

《手把手陪您学Python》16——循环语句while

《手把手陪您学Python》17——循环的终止

《手把手陪您学Python》18——循环语句for

《手把手陪您学Python》19——第一阶段小结

《手把手陪您学Python》20——列表

《手把手陪您学Python》21——元组

《手把手陪您学Python》22——字典

《手把手陪您学Python》23——内置序列函数

《手把手陪您学Python》24——集合

《手把手陪您学Python》25——列表推导式

《手把手陪您学Python》26——自定义函数

《手把手陪您学Python》27——自定义函数的参数

《手把手陪您学Python》28——自定义函数的返回值

《手把手陪您学Python》29——匿名函数

《手把手陪您学Python》30——模块

《手把手陪您学Python》31——文件的打开

《手把手陪您学Python》32——文件的读取

《手把手陪您学Python》33——文件的关闭

《手把手陪您学Python》34——文件的写入

For Fans:关注“亦说Python”公众号,回复“手35”,即可免费下载本篇文章所用示例语句。

亦说Python——Python爱好者的学习分享园地
TMS320F28335是德州仪器(TI)推出的一款数字信号处理器(DSP),用于实现各种实时控制和信号处理应用。习DSP需要掌握相关的基本知识和编程技巧。 首先,我们可以通过阅读TMS320F28335的官方文档,即TMS320F28335的PDF手册。该手册详细介绍了DSP的硬件架构、指令集、寄存器和外设等内容。通过仔细阅读和理解手册,我们可以全面掌握DSP的基本结构和工作原理。 其次,我们可以选择一个合适的开发环境,如Code Composer Studio(CCS),这是TI为DSP开发提供的集成开发环境。在CCS中,我们可以创建新的项目并配置编译器和调试器。通过CCS集成的调试功能,我们可以方便地调试和验证自己的DSP程序。 为了更好地习DSP,我们可以按照以下步骤进行实践: 1.了解DSP的基本概念和数原理,如离散傅里叶变换(DFT)、离散时间傅里叶变换(DTFT)等。 2.习DSP的编程语言,如C语言或汇编语言。TI提供了DSP的编程工具包,可以帮助我们编写和调试DSP程序。 3.选择合适的实例或项目来进行实践。可以通过加载预定义的DSP库函数或手动编写代码来实现信号滤波、变换、调制等功能。 4.通过仿真和调试,验证自己的程序是否符合预期。根据调试结果进行修改和改进,直到达到要求。 5.不断习和积累经验,参考相关的书籍和教程,习其他高级的DSP算法和应用。 总之,习DSP需要理论和实践相结合。通过阅读TMS320F28335的官方文档,配置开发环境,习基本概念和编程语言,进行实践和调试,我们可以逐步掌握DSP的原理和应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值