python为什么需要reload(sys)后设置编码
2023-09-14 08:58:41 时间
python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128),python没办法处理非ascii编码的,此时需要自己设置python的默认编码,一般设置为utf8的编码格式。
查询系统默认编码可以在解释器中输入以下命令:
Python代码
sys.getdefaultencoding()
设置默认编码时使用:
sys.setdefaultencoding('utf8')
可能会报AttributeError: 'module' object has no attribute 'setdefaultencoding'
的错误,执行reload(sys),再执行以上命令就可以顺利通过。
此时再执行sys.getdefaultencoding()就会发现编码已经被设置为utf8的了,但是在解释器里修改的编码只能保证当次有效,在重启解释器后,会发现,编码又被重置为默认的ascii了,那么有没有办法一次性修改程序或系统的默认编码呢。
如果需要在运行时(就是整个解释器启动完之后)进行setdefaultencoding,就只能重新加载sys这个模块。
一个解决的方案在程序中加入以下代码:
import sys
reload(sys)
sys.setdefaultencoding('utf8')
相关文章
- Python基础21-网络编程
- python学习笔记(三)— PyCharm 下载安装教程(Windows)
- 在pycharm中如何新建Python文件?_github下载的python源码项目怎么用
- origin安装嵌入python_python爬虫之git的使用(origin说明)
- python进制转换函数
- 用Python实时获取steam特惠游戏数据
- python爬取论坛图片_python爬取某网站妹子图集
- 【说站】python正则表达式中的分组是什么
- python输出unicode编码_Python以utf8编码读取文件
- python分析人口出生率代码_国家统计局居然也能用的上Python?人口数据Python脚本了解一下?…[通俗易懂]
- Python阶乘求和
- python程序化交易实例-用 Python 实现你的量化交易策略「建议收藏」
- python type error是什么意思_Python 报错 TypeError:’DoesNotExist’对象不可调用
- Python 爬虫进阶必备 | 某新闻网正文图片 data-src 解密逻辑分析
- Python爬虫之分布式爬虫
- 软件测试|带你了解Python正则表达式模块(二)
- 网络工程师学Python-3-列表及其操作
- python-Python与SQLite数据库-SQLite数据库的基本知识(一)
- Python startswith()和endswith()方法
- win10下 python pymouse无法激活其他窗口的原因详解编程语言
- Python字符串编码格式有哪些
- Python字典及基本操作(超级详细)
- Python编码规范的重要性
- 如何在Linux上将Python脚本设置为后台运行?(linux后台运行python)
- 从 Python 连接到 MySQL:实现更多强大的数据库应用(python和mysql)
- Python入门:ChainMap 有效管理多个上下文
- python实现数通设备端口监控示例
- Python执行字符串表达式函数(evalexecexecfile)