Python处理JSON时的值报错及编码报错的两则解决实录


Posted in Python onJune 26, 2016

1、ValueError: Invalid control character at: line 1 column 8363 (char 8362)
使用json.loads(json_data)时,出现:

ValueError: Invalid control character at: line 1 column 8363 (char 8362)

出现错误的原因是字符串中包含了回车符(\r)或者换行符(\n)
解决方法:
(1)对这些字符转义:

json_data = json_data.replace('\r', '\\r').replace('\n', '\\n')

(2)使用关键字strict:

json.loads(json_data, strict=False)

strict默认是True,它将严格控制内部字符串,将其设置为False,便可以允许你\n \r。

2、UnicodeEncodeError: ascii codec can't encode错误
在windows下写的python脚本,放到linux下运行,直接报:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-11: ordinal not in range(128)

出错原因是Python2.7在安装时,默认的编码是ascii,当程序中出现非ascii编码时,Python的处理常常会报这样的错,不过在Python3中就不会有这样的问题。
解决方法:
(1)临时解决方法:
在代码前加入:
import sys 
reload(sys) 
sys.setdefaultencoding('utf8')

(2)一劳永逸:
在Python的lib\site-packages文件夹下新建一个sitecustomize.py,内容如下:

# encoding=utf8 
import sys 

reload(sys) 
sys.setdefaultencoding('utf8')

这样的话,系统在Python启动的时候,自行调用该文件,设置系统的默认编码。

Python 相关文章推荐
python中的多线程实例教程
Aug 27 Python
Python中使用strip()方法删除字符串中空格的教程
May 20 Python
Python编程之event对象的用法实例分析
Mar 23 Python
Python日期的加减等操作的示例
Aug 15 Python
完美解决Python 2.7不能正常使用pip install的问题
Jun 12 Python
python让列表倒序输出的实例
Jun 25 Python
python从内存地址上加载python对象过程详解
Jan 08 Python
python库skimage给灰度图像染色的方法示例
Apr 27 Python
django日志默认打印request请求信息的方法示例
May 17 Python
Python爬虫入门有哪些基础知识点
Jun 02 Python
Python并发爬虫常用实现方法解析
Nov 19 Python
深入理解Pytorch微调torchvision模型
Nov 11 Python
Python使用自带的ConfigParser模块读写ini配置文件
Jun 26 #Python
Python读写txt文本文件的操作方法全解析
Jun 26 #Python
Python实现快速排序算法及去重的快速排序的简单示例
Jun 26 #Python
python结合selenium获取XX省交通违章数据的实现思路及代码
Jun 26 #Python
理解生产者消费者模型及在Python编程中的运用实例
Jun 26 #Python
python安装mysql-python简明笔记(ubuntu环境)
Jun 25 #Python
Python的装饰器用法学习笔记
Jun 24 #Python
You might like
在同一窗体中使用PHP来处理多个提交任务
2006/10/09 PHP
PHP中使用register_shutdown_function函数截获fatal error示例
2015/04/21 PHP
DEFER怎么用?
2006/07/01 Javascript
DOM相关内容速查手册
2007/02/07 Javascript
基于Jquery的表格隔行换色,移动换色,点击换色插件
2010/12/22 Javascript
Javascript变量作用域详解
2013/12/06 Javascript
js实现接收表单的值并将值拼在表单action后面的方法
2015/11/23 Javascript
Bootstrap弹出框(modal)垂直居中的问题及解决方案详解
2016/06/12 Javascript
响应式表格之固定表头的简单实现
2016/08/26 Javascript
js 提交form表单和设置form表单请求路径的实现方法
2016/10/25 Javascript
jQuery插件zTree实现单独选中根节点中第一个节点示例
2017/03/08 Javascript
AngularJS封装$http.post()实例详解
2017/05/06 Javascript
canvas实现弧形可拖动进度条效果
2017/05/11 Javascript
Vue全家桶实践项目总结(推荐)
2017/11/04 Javascript
jquery写出PC端轮播图实例
2018/01/26 jQuery
nodejs实现聊天机器人功能
2019/09/19 NodeJs
JS实现打砖块游戏
2020/02/14 Javascript
[00:55]深扒TI7聊天轮盘语音出处3
2017/05/11 DOTA
[02:36]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma 选手采访
2021/03/11 DOTA
Python获取服务器信息的最简单实现方法
2015/03/05 Python
Python编程生成随机用户名及密码的方法示例
2017/05/05 Python
实例讲解python中的协程
2018/10/08 Python
在python中只选取列表中某一纵列的方法
2018/11/28 Python
解决python多行注释引发缩进错误的问题
2019/08/23 Python
OpenCV哈里斯(Harris)角点检测的实现
2020/01/15 Python
Python collections.deque双边队列原理详解
2020/10/05 Python
全球在线商店:BerryLook
2019/04/14 全球购物
个人自我鉴定范文
2013/10/04 职场文书
财务会计专业求职信范文
2013/12/31 职场文书
网络程序员自荐信
2014/01/25 职场文书
初级会计求职信范文
2014/02/15 职场文书
煤矿安全生产责任书
2014/04/15 职场文书
工厂标语大全
2014/10/06 职场文书
二手车交易协议书标准版
2014/11/16 职场文书
运动会100米广播稿
2015/08/19 职场文书
css之clearfix的用法深入理解(必看篇)
2023/05/21 HTML / CSS