查看“Python编码声明”的源代码
←
Python编码声明
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
#-*- coding:utf-8 -*- =系统编码= <pre> 系统编码 前面说了,Python根据电脑默认的locale设置将字节转化成字符.那如何获得系统的默认编码: import sys print sys.getdefaultencoding() ascii 更改系统的默认编码: import sys reload(sys) sys.setdefaultencoding('utf8') 为什么要reload sys模块,先看下python的模块加载过程: # python -v # installing zipimport hook import zipimport # builtin # installed zipimport hook # /usr/local/lib/python2.6/site.pyc matches /usr/local/lib/python2.6/site.py import site # precompiled from /usr/local/lib/python2.6/site.pyc .... Python运行的时候首先加载了site.py,在site.py文件里有这么一段代码: if hasattr(sys, "setdefaultencoding"): del sys.setdefaultencoding 在sys加载后,setdefaultencoding方法被删除了,所以我们要通过重新导入sys来设置系统编码. In [22]: import sys In [23]: print sys.getdefaultencoding() ascii In [16]: import sys ...: reload(sys) ...: sys.setdefaultencoding('utf8') ...: In [17]: dic["城市"] Out[17]: '\xe5\xb9\xbf\xe5\xb7\x9e\xe5\xa4\xa9\xe6\xb2\xb3\xe5\x8c\xba' In [18]: print dic["城市"] 广州天河区 字典中有中文时 要print 才能显示出来,如果是py3却是可以直接显示的 In [18]: tel = {'jack': '我', 'sape': 4139} In [19]: tel Out[19]: {'jack': '\xe6\x88\x91', 'sape': 4139} In [20]: tel['jack'] Out[20]: '\xe6\x88\x91' In [21]: print tel['jack'] 我 但是写在文件 就如那个天气预报 就当是utf-8 的问题吧 烦死 如果是py3就可以直接显示 In [7]: tel = {'jack': '我', 'sape': 4139} In [8]: tel['jack'] Out[8]: '我' </pre> =参考= [[Python处理utf8编码中文,及打印中文列表和字典]] [https://www.python.org/dev/peps/pep-0263/ PEP 263 -- Defining Python Source Code Encodings] [http://blog.csdn.net/orangleliu/article/details/8755461 Python编码声明] [https://blog.csdn.net/zhangchaoy/article/details/19337841 Python 字典中的中文输出问题import json模块] [https://foofish.net/how-python3-handle-charset-encoding.html Python3 是如何解决棘手的字符编码问题的] [http://cenalulu.github.io/python/python-encoding/ 关于Python的默认字符集] [http://yshblog.com/blog/41 Python读写utf-8的文本文件] [https://www.cnblogs.com/sixbeauty/p/4284427.html python文件编码说明 coding=utf-8] [http://www.cnblogs.com/springbarley/articles/3281655.html python #coding 和 setdefaultencoding的区别] [https://blog.csdn.net/yockie/article/details/46294283 Python-中文编码] [http://www.cnblogs.com/feeland/p/4448812.html Python 编码] [https://liguangming.com/how-to-use-utf-8-with-python 怎么在Python里使用UTF-8编码] [https://www.cnblogs.com/harrychinese/archive/2012/01/19/change_python_default_encoding.html 修改python默认的编码方式] [https://blog.ernest.me/post/python-setdefaultencoding-unicode-bytes 立即停止使用 setdefaultencoding('utf-8')] [[category:python]]
返回至
Python编码声明
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
我的导航
关于我
shell
python
ops
linuxchina.net
blog.linuxchina
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息