python I/O读写 字典类型的数据写文件(使用json dumps)

目标:

需要把字典类型的数据写入文件

步骤:

新建一个文件(或者打开一个文件),然后按照函数提供的类型,写文件。但是每个函数都要自己的入参要求,所以要根据需要把参数转化成需要的类型

使用的函数为:

打卡文件的函数

open(path, ‘-模式-‘,encoding=’UTF-8’) 即open(路径+文件名, 读写模式, 编码)

说明:

读写模式:
r :只读   
r+ : 读写 
w : 新建(会对原有文件进行覆盖) 
a : 追加 
b : 二进制文件

写文件函数:

file.write(str)

将字符串写入文件,返回的是写入的字符长度 

由此可见,要写的话,必须是字符串类型,而不能是字典或者其他类型,这个时候我们就需要函数来处理这个字典

处理字典的函数

json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串)
(1)json.dumps()函数是将一个Python数据类型列表进行json格式的编码(可以这么理解,json.dumps()函数是将字典转化为字符串)
(2)json.loads()函数是将json格式数据转换为字典(可以这么理解,json.loads()函数是将字符串转化为字典)

具体的说明可以查看python3 菜鸟教程说的非常清楚 https://www.runoob.com/python3/python3-json.html

 

def write_to_file(content):  #这里面的content是字典类型的数据
    with open('result.txt','a',encoding='utf-8') as f:
        f.write(json.dumps(content,ensure_ascii=False)+'\n') 为了让字典转换成字符串,需要使用json.dumps()函数让字典变成字符串

 

def write_json(list_all):
    with open('data.txt','w',encoding='utf-8') as file:
        file.write(json.dumps(list_all,indent=2,ensure_ascii=False))  ensure_ascii=False,加上这个,就不会让中文变成unicode编码  indent=2,带缩进

 

posted @ 2021-05-11 16:01  yintian908  阅读(491)  评论(0编辑  收藏  举报