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采用socket模拟TCP通讯的实现方法
Nov 19 Python
python遍历类中所有成员的方法
Mar 18 Python
python使用Image处理图片常用技巧分析
Jun 01 Python
基于Python 装饰器装饰类中的方法实例
Apr 21 Python
Python实现的远程登录windows系统功能示例
Jun 21 Python
python虚拟环境迁移方法
Jan 03 Python
Pygame的程序开始示例代码
May 07 Python
python删除指定列或多列单个或多个内容实例
Jun 28 Python
tensorflow 动态获取 BatchSzie 的大小实例
Jun 30 Python
python怎么删除缓存文件
Jul 19 Python
Python中猜拳游戏与猜筛子游戏的实现方法
Sep 04 Python
python/golang实现循环链表的示例代码
Sep 14 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 冒泡排序 交换排序法
2011/05/10 PHP
php输出xml属性的方法
2015/03/19 PHP
PHP解密Unicode及Escape加密字符串
2015/05/17 PHP
使用Thinkphp框架开发移动端接口
2015/08/05 PHP
php常用字符串长度函数strlen()与mb_strlen()用法实例分析
2019/06/25 PHP
chrome原生方法之数组
2011/11/30 Javascript
高性能Javascript笔记 数据的存储与访问性能优化
2012/08/02 Javascript
js图片处理示例代码
2014/05/12 Javascript
两种方法基于jQuery实现IE浏览器兼容placeholder效果
2014/10/14 Javascript
jquery实现两个图片渐变切换效果的方法
2015/06/25 Javascript
跟我学习javascript的全局变量
2015/11/16 Javascript
Jquery实现的简单轮播效果【附实例】
2016/04/19 Javascript
强大Vue.js组件浅析
2016/09/12 Javascript
vue中使用sessionStorage记住密码功能
2018/07/24 Javascript
ES6 对象的新功能与解构赋值介绍
2019/02/05 Javascript
react配置antd按需加载的使用
2019/02/11 Javascript
Vue表单绑定的实例代码(单选按钮,选择框(单选时,多选时,用 v-for 渲染的动态选项)
2019/05/13 Javascript
微信小程序云开发 搭建一个管理小程序
2019/05/17 Javascript
vue-cli webpack配置文件分析
2019/05/20 Javascript
js get和post请求实现代码解析
2020/02/06 Javascript
Python中的引用和拷贝浅析
2014/11/22 Python
C#返回当前系统所有可用驱动器符号的方法
2015/04/18 Python
python3.x实现发送邮件功能
2018/05/22 Python
Djang的model创建的字段和参数详解
2019/07/27 Python
利用Python检测URL状态
2019/07/31 Python
Python学习笔记之Break和Continue用法分析
2019/08/14 Python
python字典setdefault方法和get方法使用实例
2019/12/25 Python
解决django接口无法通过ip进行访问的问题
2020/03/27 Python
用opencv给图片换背景色的示例代码
2020/07/08 Python
python -v 报错问题的解决方法
2020/09/15 Python
One.com挪威:北欧成长最快的网络托管公司
2016/11/19 全球购物
意大利一家专营包包和配饰的网上商店:Borse Last Minute
2019/08/26 全球购物
大学生求职简历的自我评价
2013/10/14 职场文书
幼儿园保育员责任书
2014/07/22 职场文书
2015年派出所民警工作总结
2015/04/24 职场文书
js实现自动锁屏功能
2021/06/02 Javascript