python json模块学习

filename = 'username.json'
try:
    with open(filename) as file_obj:
        username = json.load(file_obj)
except FileNotFoundError:
    username = input("请输入用户名:")
    with open(filename, 'w') as file_obj:
        json.dump(username, file_obj)
        print("We will remember you when you come back, " + username + "!")
else:
    print("Welcome back, " + username + "!")

json.dump()用于创建文件(json格式)并向文件中写入信息

json.load()用于加载文件(json格式)中已有信息

 

重构之后的代码:

def get_stored_username():
    file="username.json"
    try:
        with open(file) as f_obj:
            username=json.load(f_obj)
    except FileNotFoundError :
        return None
    else:
        return username
def get_new_username():
    file="username.json"
    with open(file, 'w') as f_obj:
        username=input("please input your username: ")
        json.dump(username, f_obj)
def greet_users():
    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_users()

 

判断目前用户与之前用户是否为同一个人,如果不是,请重新输入用户名。

def get_stored_username():
    file="username.json"
    try:
        with open(file) as f_obj:
            username=json.load(f_obj)
    except FileNotFoundError:
        return None
    else:
        return username
def get_new_username():
    file="username.json"
    with open(file, 'w') as f_obj:
        username=input("please input your username: ")
        json.dump(username, f_obj)
def greet_users():
    username=get_stored_username()
    if username:
         print("The present user's username is " + username)
         answer=input("Is it your username?")
         if answer=='y':
             print("Welcome back, " + username + "!")
         if answer=='n':
             get_new_username()
             username = get_stored_username()
             print("We will remember you when you come back, " + str(username) + "!")
    else:
        get_new_username()
        username = get_stored_username()
        print("We will remember you when you come back, " + str(username) + "!")
greet_users()
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值