为什么在sys.setdefaultencoding之前要写reload(sys)
来源:互联网 发布:java中方法的定义包括 编辑:程序博客网 时间:2024/06/05 23:38
原文链接:http://www.360doc.com/content/16/0414/17/32448719_550605576.shtml
python 中获得系统默认编码为:
import sysprint sys.getdefaultencoding()
而修改系统默认编码应写为:
import sysreload(sys)sys.setdefaultencoding('UTF-8')
为什么需要一个看似多余的reload(sys)呢?
先看下python的模块加载过程:
# python -v# installing zipimport hookimport zipimport # builtin# installed zipimport hook# /usr/local/lib/python2.6/site.pyc matches /usr/local/lib/python2.6/site.pyimport site # precompiled from /usr/local/lib/python2.6/site.pyc....
if hasattr(sys, "setdefaultencoding"): del sys.setdefaultencoding
在sys加载后,setdefaultencoding方法被删除了,所以我们要通过重新导入sys来设置系统编码.
0 0
- 为什么在sys.setdefaultencoding之前要写reload(sys)
- 为什么在sys.setdefaultencoding之前要写reload(sys)
- 为什么在sys.setdefaultencoding之前要写reload(sys)
- Python - reload(sys) + sys.setdefaultencoding
- sys.setdefaultencoding()使用前,必须reload(sys)
- python reload sys 后才能setdefaultencoding 的原因
- 为什么有时候必须添加sys.setdefaultencoding('utf-8')
- python为什么需要reload(sys)后设置编码
- python为什么需要reload(sys)后设置编码
- sys.setdefaultencoding 引发 [Bad file descriptor]解决
- 关于reload(sys) sys.defaultencoding问题
- Python3异常-AttributeError: module 'sys' has no attribute 'setdefaultencoding'
- python3,使用sys.setdefaultencoding('utf-8'),编译时报错
- Python问题分析:AttributeError: module 'sys' has no attribute 'setdefaultencoding'
- sys
- /sys
- sys
- sys
- 循环结构排序
- Android Process 详解
- 前端MVC框架
- 利用小闹钟1-100求和
- 关于编程语言的学习
- 为什么在sys.setdefaultencoding之前要写reload(sys)
- Asp.net mvc 提交列表(三)
- Splash
- Android string-array 的使用
- mac 自定义NSTableCellView
- HDU 1014 Uniform Generator(gcd问题)
- C语言头文件条件编译避免重复引用
- 2位数乘与1位数
- 线程组