文件保存写入运行时无响应

这是我的代码:

import json


# 打开文件
def user():
    filename = 'user.json'
    try:
        with open(filename) as file_obj:
            old_name = json.load(file_obj)
    except FileNotFoundError:
        return None
    else:
        return old_name


# 输入新的用户名
def get_new_username():
    new_name = input('Please enter your name: ')
    filename = 'user.json'
    with open(filename, 'w') as file_obj:
        json.dump(new_name, file_obj)
        return new_name


# 输出问候或询问
def greet_user():
    name = user()
    while True:
        if name:
            pd = input(name + ' Is this it ? ')
            pd = pd.lower()
            if pd == 'y':
                print('Welcome back ' + name + ' .')
                break
            elif pd == 'n':
                new_name = get_new_username()
                print('I remember your name: ' + new_name + ' .')
                break
            else:
                print('Please try again. Y/N ! ')


greet_user()


运行后不报错,没反应。

这是论坛里的

import json
 
def get_sorted_username():
    """如果存储了用户名,就获取它"""
    filename = 'username.json'
    try:
        with open(filename) as f_obj:
            username = json.load(f_obj)
    except FileNotFoundError:
        return 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_sorted_username()
    if username:
        result = input(username + "is right?")
        if result == 'y':
            print("Welcom back,", username, "!")
        else:
            username = get_new_username()
            print("Welcom back,", username, "!")
    else:
        username = get_new_username()
        print("We'll remember you when you come back,", username, "!")
 
 
if __name__ == "__main__":
    greet_user()


这个可以正常运行。
对比了好几遍没发现问题啊。

import json
 
 
# 打开文件
def user():
    filename = 'user.json'
    try:
        with open(filename) as file_obj:
            old_name = json.load(file_obj)
    except FileNotFoundError:
        return None
    else:
        return old_name

 
# 输入新的用户名
def get_new_username():
    new_name = input('Please enter your name: ')
    filename = 'user.json'
    with open(filename, 'w') as file_obj:
        json.dump(new_name, file_obj)
        return new_name
 

def greet_user():
    name = user()
    while True:
        if name:
            pd = input(name + ' Is this it ? ')
            pd = pd.lower()
            if pd == 'y':
                print('Welcome back ' + name + ' .')
                break
            elif pd == 'n':
                new_name = get_new_username()
                print('I remember your name: ' + new_name + ' .')
                break
            else:
                print('Please try again. Y/N ! ')
        else:
            print("file not found")
            return 0;
 
greet_user()