Bootstrap

Python读写Json文件

目录

1. 内容介绍

2. 写入数据到json文件

3. 从json文件读取数据

4. 结束语


1. 内容介绍

        本文主要介绍了如何使用python写入数据到json文件和如何从json文件读取数据

2. 写入数据到json文件

(1) 一个简单的示例:

import json

# 先定义一个准备存储到data.json文件里的顺序
data = {
    "name": "John",
    "age": 2,
    "city": "nanjing"
}

'''
使用open()函数打开./data路径下的data.json文件
用as关键字将打开的文件返回的对象绑定到变量 f 上
打开文件的模式: 常用的有’r’(读取模式,缺省值)、‘w’(写入模式)、‘a’(追加模式)等
'''
with open('./data/data.json', 'w') as f:
    # 使用json.dump()函数将序列化后的JSON格式的数据写入到文件中
    json.dump(data, f, indent=4)

运行效果:

(2) 为了满足实际应用场景,可以将这个写入数据到json文件的程序封装成一个函数,以实现重复利用:

调用这个函数需要传入两个参数,一个参数就是待存入的数据,另一个参数是文件名。

下面是demo代码:

import json

# 保存数据到json文件的函数
def save_to_json(data, file_name):

    # 打开文件的模式: 常用的有’r’(读取模式,缺省值)、‘w’(写入模式)、‘a’(追加模式)等
    with open('./data/{}'.format(file_name), 'w') as f:
        # 使用json.dump()函数将序列化后的JSON格式的数据写入到文件中
        json.dump(data, f, indent=4)

# 主函数
if __name__ == '__main__':

    # 待存入的数据
    data1 = {
        "name": "Python",
        "age": 2,
        "city": "nanjing"
    }
    # 待存入的数据
    data2 = {
        "name": "Json",
        "age": 2,
        "city": "beijing"
    }

    # 调用save_to_json函数
    save_to_json(data1, 'data1.json')   # 把data1保存到data1.json里
    save_to_json(data2, 'data2.json')   # 把data2保存到data2.json里

 运行后的效果:

3. 从json文件读取数据

(1)一个简单的示例:

import json


# 打开文件的模式: 常用的有’r’(读取模式,缺省值)、‘w’(写入模式)、‘a’(追加模式)等
with open('./data/data.json', 'r', encoding='utf-8') as f:

    # 使用json.load()函数加载JSON文件,该函数可以从文件中读取JSON格式的数据并将其解析为Python对象
    data = json.load(f)

# 输出读取到的数据
print(data)

运行效果: 

(2) 为了满足实际应用场景,可以将这个从json文件读取数据的程序封装成一个函数,以实现重复利用:

调用这个函数需要传输一个参数,就是文件的名字,因为文件的路径已经确定了。其实可以根据实际情况,修改一下函数,可以加一个文件路径的参数。

下面是demo代码:

import json

# 从json文件读取数据的函数
def read_from_json(file_name):

    # 打开文件的模式: 常用的有’r’(读取模式,缺省值)、‘w’(写入模式)、‘a’(追加模式)等
    # 这里encoding是定义打开文件时使用的编码方式,这里使用的是utf-8
    with open('./data/{}'.format(file_name), 'r', encoding='utf-8') as f:

        # 使用json.load()函数加载JSON文件,该函数可以从文件中读取JSON格式的数据并将其解析为Python对象
        data = json.load(f)

    return data


if __name__ == '__main__':

    # 调用read_from_json()函数读取data.json的数据
    # 输出读取到的数据
    print(read_from_json('data.json'))

4. 结束语

        感谢您的阅读,如果感觉对您有所帮助,可以点个赞或者评论嘛,这是对我莫大的鼓励!,也十分欢迎您在排卵区指出我的不足之处。我们共同进步!

;