python 存储数据json

模块json存储数据,模块json让你能够把用户提供的信息存储在列表和字典等数据结构中,并在程序再运行时,加载该文件中的数据。

函数json.dump()用来存储数据,这个函数接收两个参数,一个是将要存储的数据,另一个是可用于存储数据的文件对象

函数json.load()用于加载数据,接收一个参数,就是存储数据的文件对象

如下面的代码块演示了,用户首次运行程序时被提示输入自己的名字,并提醒用户下次再次运行程序时就会记住他的名字;如果用户不是首次运行程序,就会收到问候语,welcome back !

import json # 先导入模块json

def get_stored_username ():
    """如果存储了用户,就问候它"""
    filename = 'username.json'
    try: 
        with open(filename) as f_obj:
            username = json.load(f_obj) # 尝试加载存储数据的文件username.json,检测是否已有存储的用户
    except FileNotFoundError:
        return None # 若找不到文件名,就返回None
    else:
        return username # 若找到文件名,就返回存储在文件对象中的用户名

def get_new_username ():
    """提示用户输入用户名"""
    username = input("What is your name: ")
    filename = 'username.json'
    with open(filename, 'w') as f_obj:
        json.dump(username, f_obj) # 存储新用户的名字于文件对象中
    return username # 返回新用户的名字

def greet_user():
    """问候用户,并指出其名字"""
    username = get_stored_username()
    if username: # 如果用户名存在,就执行紧跟的代码块
        print("Welcome back, " + username + " !")
    else: # 如果用户名不存在,就执行下面代码块
        username = get_new_username()
        print("We will remember you when you come back, " + username + " !")

greet_user() # 调用函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值