本系列课程是针对无基础的,争取用简单明了的语言来讲解,学习前需要具备基本的电脑操作能力,准备一个已安装python环境的电脑。如果觉得好可以分享转发,有问题的地方也欢迎指出,在此先行谢过。
上一篇文章主要讲了如何从文件中读取和写入数据,但是可能还有一点我们可能没有注意到,就是我们写入的都是字符串的数据类型的,如果我们想写入结构化的数据类型,比如数字,列表和字典就去可能就会报错了。
为了解决这个问题,我们用到了一个json的模块工具,JSON是缩写,全称是JavaScript Object Notation,这 是一种轻量级的数据交换格式,易于人阅读和编写。
简单的说,就是通过json这个工具,把我们想写入的内容先变成(编码)json的字符串格式,然后写入文件,取出来来时,在通过json这个工具,又可以还原回原来的数据类型,是不是很厉害很神奇,下面就来看看吧。
import json
List=["python","javascript","java","go"]
with open("文件.txt","w") as f:
json.dump(List,f)
解释:
先导入json这个工具库,接着创建一个列表内容,以 w 模式打开文件,通过json的dump方法将内容List写入到f这个对象文件里面。 读取数据
import json
List=["python","javascript","java","go"]
with open("文件.txt","r") as f:
content=json.load(f)
print(content,type(content))
解释:
把模式换成 r 读模式,然后使用json的load方法,从 f 文件对象里面加载对应的内容,接着打印出内容和内容的数据类型,最后显示 class list表明还是列表数据类型,并没有改变。
import json
List=["python","javascript","java","go"]
Dict={"James":"12","Rose":"15"}
with open("文件.json","a") as f:
json.dump(List,f)
json.dump(Dict,f)
解释:
为了一眼就知道我们写入或读取的是json格式的数据,我们把文件名字 改成了文件.json,文件后缀名只是为了我们更好标识它,对于里面的内容是不会有影响的,这里是一个小知识。
json的模式操作和前面的直接读取的是一样的,只不过读取用load替换了之前的read;写入用dump替换了write。