Python-json模块
Posted wind1004
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python-json模块相关的知识,希望对你有一定的参考价值。
json串是任何语言都可以识别的,因此json模块是一个重要的模块。
json串实际上就是字符串。
1、json格式
json格式如下,必须使用双引号。
2、读json文件
读取json文件后,数据类型是字符串类型。可以引入json模块,用json.loads或者json.load将其变为字典类型。
例:有一个文件products.json。
(1)用json.loads()
用read将文件读出来,然后把读出来的数据用json.loads()转换为字典类型。
通过运行结果可以看出,读出啦的res格式是字符串,json.loads()将其转化为字典格式。
(2)用json.load()
可以看到json.load()可以直接传文件对象,它会帮助读文件,并且转化为字典格式。
3、写入json文件
同样的,导入json模块。可以用json.dumps()或者json.dump()将其转化为json格式,写入文件。
(1)json.dumps()
首先用json.dumps()将字典转化为json格式,存入user_info,然后将user_info写入文件。
其中,ensure_ascii=False 是为了保证中文不被编码,能够正常显示。indent=4指的是缩进是4。
运行之后,user_info.json文件内容为:
(2)json.dump()
json.dump()可以直接操作文件对象,实现的功能一样,能够直接将字典格式转化为json格式,并且写入文件。
4、小练习
学生信息存在json文件里,要求实现学生的注册和删除。
stus_info.json文件内容为为:
import json def op_data(filename,content=None): if content:#如果有内容,将内容写入json文件 with open(filename,\'w\',encoding=\'utf-8\') as fw: json.dump(content, fw, ensure_ascii=False, indent=4) else:#如果content为None,则读取json文件 with open(filename,encoding=\'utf-8\') as fr: return json.load(fr) FILE_NAME = \'stus_info.json\'#定义常量 all_stus = op_data(FILE_NAME) for i in range(3): choice = input(\'1注册,2删除,请输入:\') if choice==\'1\': username = input(\'usenrame:\') pwd = input(\'pwd:\') if username not in all_stus: all_stus[username]=pwd op_data(FILE_NAME,all_stus) print(\'恭喜,%s注册成功!\'%username) elif choice=="2": username = input(\'usenrame:\') all_stus.pop(username) op_data(FILE_NAME, all_stus) print(\'%s删除成功!\'%username) else: print(\'输入错误,请重新输入\')
以上是关于Python-json模块的主要内容,如果未能解决你的问题,请参考以下文章