0
点赞
收藏
分享

微信扫一扫

一文搞懂python的json与字符串的操作


json.dumps和json.dump是什么区别?json.load()和json.loads()又是什么区别?这些小知识点如果不清楚,非常影响开发代码的效率。

1. 包与函数

  • 包名

import json

  • 函数名

loads()
load()
dump()
dumps()

2. 区别

  • json.loads()是从一个字符串中加载成一个dict格式;
  • json.load() 是从一个json文件中直接加载得到一个dict;
  • json.dumps(dict) 是将一个dict 变成一个字符串;
  • json.dump(dict, f)是将一个dict 直接写入到一个文件中。

3. 代码

3.1 dump的用法

import json
def data_gen():
	# 定义一个生成器,用于生成字典
    for i in range(100):
        yield {"id":i, "name":f"item-{i}"}

# 把生成的词典写入到文件中
with open('data.json', 'a') as f:
    for data in data_gen():
        # dump 直接往文件里面写
        json.dump(data,f)
        f.write("\n")

输出结果如下所示:

一文搞懂python的json与字符串的操作_python


那么如何加载上面这个文件呢?

# 加载字符串,得到dict
with open('data.json','r') as f:
    lines = f.readlines()
    for line in lines:
        dic = json.loads(line) # 从字符串中加载,得到dic
        print(dic)
        break

输出结果就是:

{'id': 0, 'name': 'item-0'}


举报

相关推荐

python字符串的操作

0 条评论