zoukankan      html  css  js  c++  java
  • python 重构和JSON数据解析

    看到一个重构的例子,还能重温json数据解析
    #
    def GreetUser(): # filename = '/Users/zhangxl/Desktop/union.json' # try: # with open(filename) as f_obj: # username = json.load(f_obj) # except FileNotFoundError: # username = input("What is your name?:") # with open(filename,'w') as f_obj: # json.dump(username,f_obj) # print(username) # else: # print("Welcome to " + username) def get_stored_username(): filename = '/Users/zhangxl/Desktop/union.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 = '/Users/zxl/Desktop/union.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()

    遇到问题:当文件内容为空是,会报错 。带运行一次后,我删除:union.json 文件内容,报错:raise JSONDecodeError("Expecting value", s, err.value) from None
    json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0),所以我添加了一个ValueError

  • 相关阅读:
    Socket
    字符串,byte,字典转换整理
    1-嵌入式面试题库
    10-FreeRTOS 队列
    9-FreeRTOS API获取任务使用CPU时间
    7-代码区 | 常量区 | 静态区(全局区) | 堆区 | 栈区
    8-FreeRTOS任务API
    7-FreeRTOS时间片进行任务调度
    6-C指针
    用Union体测试处理器大小端
  • 原文地址:https://www.cnblogs.com/z977690557/p/14277088.html
Copyright © 2011-2022 走看看