数据存储和提取代码测试问题

学习数据的存储和提取时,最开始运行代码时没有问题,后边回头再测试的时候就报错了,是哪里出问题了呢?

img

img

img

新年好呀,尝试重现错误失败。望采纳

但是单从报错来说,是json.load(f_obj) 这一步编码错误,
您可以再看看存储文件是否有编码不一致的问题。
然后,可以在input后立马进行判断是否输入正确格式(确保结果满足预期)
另外推荐os.path.exists()方法,对判断文件是否存在很有帮助

#########文件读写测试
import os,json
file_name ='./venv/Fav_ number.json'

def fav_number() :
    fav_number= input('What is your best number ?')
    with open(file_name,'w') as f_obj :
        json.dump(fav_number,f_obj)
    return fav_number
def load_number() :
    if os.path.exists(file_name) :
        with open(file_name) as f_obj :
            return json.load(f_obj)
    else :
        fav_number()
        load_number()
def set_number() :
    str1='Your favorite number is '
    fav_number=load_number()
    if fav_number :
        if type(fav_number) != str :
            print('Your favorite number is '+ str(fav_number) )
        else :
            print('Your favorite number is '+fav_number)
    else :
        fav_number()
        fav_number=load_number()
        if type(fav_number) != str :
            print('Your favorite number is '+ str(fav_number) )
        else :
            print('Your favorite number is '+fav_number)

fav_number()
set_number()

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^