学习数据的存储和提取时,最开始运行代码时没有问题,后边回头再测试的时候就报错了,是哪里出问题了呢?
但是单从报错来说,是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()
不知道你这个问题是否已经解决, 如果还没有解决的话: