Python3 json模块

Python3 json模块

目录

Python json模块

json.dump()和json.load()


要想以json格式来存储数据,需要使用json模块。

使用json模块前需要先导入模块,即import json。

使用json可以将简单的Python数据结构(如:列表,字典等)存储到文件中。

json.dump()和json.load()

使用json.dump()来存储数据,json.load()读取数据到程序中:

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

import json

numbers = [1, 2, 3, 4, 5, 6]

file_name = 'numbers.json'  # 通常使用扩展名.json来指出文件存储的数据格式为json
with open(file_name, 'w') as file_object:  # 以写入模式打开文件
    json.dump(numbers, file_object)  # json.dump()存储列表到文件

with open(file_name) as file_object:  # 默认以只读模式打开文件
    n_numbers = json.load(file_object)  # json.load()读取数据
    print(n_numbers)  # n_numbers所指对象的数据类型是list

json.dump()接受两个参数:第一个是要存储的数据;第二个是用于存储数据的文件对象。

通常使用扩展名.json来指出文件存储的数据格式为json。

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

import json


def read_user(file_name):
    """从文件中读取用户的姓名"""

    with open(file_name) as f_obj:
        user_name = json.load(f_obj)
        return user_name


def remember_user(file_name):
    """存储首次使用本程序的用户的姓名"""

    print("您是首次使用本程序,需要填写相关信息。")
    name = input("请输入您的姓名;")
    with open(file_name, 'w') as f_obj:
        json.dump(name, f_obj)
        print("我们会在您下次使用本程序时记住您的姓名。")


def greet_user():
    """用户使用程序时向用户发出问候"""

    try:
        file_name = 'user.json'
        user_name = read_user(file_name)
    except FileNotFoundError:
        remember_user(file_name)
    else:
        print("welcome back! hello " + user_name + "!")


greet_user()

猜你喜欢

转载自blog.csdn.net/qq_36569032/article/details/83276331