lingcooo 2021-11-13 21:29 采纳率: 90.9%
浏览 17
已结题

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

这是我的代码:

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()


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

  • 写回答

1条回答 默认 最新

  • qza2468 2021-11-13 21:33
    关注
    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()
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 11月21日
  • 已采纳回答 11月13日
  • 创建了问题 11月13日

悬赏问题

  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测