学习资料:《Python从入门到实践》---10.4.6重构
遇到的问题如下:
问题1.中文写入json,但json文件中显示"\u6731\u5fb7\u57f9",不是中文。
-
# 中文写入json,但文件中显示"\u6731\u5fb7\u57f9",不是中文。
-
# encoding='utf-8',用于确保写入中文不乱码
-
with open(filename,
'w',encoding=
'utf-8')
as f_obj:
-
json.dump(username,f_obj)
解决方法:加入ensure_ascii=False
-
# encoding='utf-8',用于确保写入中文不乱码
-
with open(filename,
'w',encoding=
'utf-8')
as f_obj:
-
# ensure_ascii=False,用于确保写入json的中文不发生乱码
-
json.dump(username,f_obj,ensure_ascii=
False)
问题2.当目标json文件内容为空时,出现
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
解决方法:新增一个异常
-
# 当
username
.json为空,这里如果不加入
json
.decoder
.JSONDecodeError: 异常
-
# 会导致
json
.decoder
.JSONDecodeError:
Expecting
value:
line 1
column 1 (
char 0)
-
except
json
.decoder
.JSONDecodeError:
-
print("文件内容是空的。")
参考资料: