python 中 importlib.reload(sys) 的作用
admin
2024-03-20 01:04:29
0

1. reload(sys)的历史原因        

        在python2.x版本中,python默认的编码方式是ASCII编码,当程序中出现非ASCII编码时,程序会报错:

UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)

因为,此时python无法处理非ASCII编码的程序。

        解决这个问题的方法是修改python的默认编码方式,具体方式是,在脚本头部中添加以下代码:

import sys 
reload(sys)   # 加载python编译系统
sys.setdefaultencoding(‘utf8’)  # 把python的默认编码方式修改为“utf-8”方式

2. reload(sys)的应用现状

        以上是python2的写法,在python3中这个需要已经不存在了,因为python3已经不存在这个问题了:在Python2.x中由于str和byte之间没有明显区别,经常要依赖于defaultencoding来做转换;而在python3中有了明确的str和byte类型区别,从一种类型转换成另一种类型要显式指定encoding。换句话说,python2.x默认使用的是ASCII编码,而python3.X已经默认使用“utf-8”编码了。

        但是,即便如此,为了保险起见,或者习惯的原因,很多程序员在python3.x编程中,仍旧保留了 reload(sys)的习惯,不过命令的使用方式发生了变化,变成了以下模式:

import importlib,sys
importlib.reload(sys)

3. 如何查看python默认的编码方式

方法:

import sys
sys.getdefaultencoding()  

在我的python3.8中的结果: 

(base_env) PS D:\code\project> python
Python 3.8.15 (default, Nov 24 2022, 14:38:14) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.getdefaultencoding()
'utf-8'
>>>   

由上可见,python3.8的默认编码方式已经是“utf-8”了。 

参考:

Python: 为什么需要reload(sys)后设置编码 - 简书

python 中的reload(sys)_小小小丸子儿的博客-CSDN博客_reload(sys)

相关内容

热门资讯

五台山景区深夜紧急通知 8月3日深夜,五台山景区发布通知,从8月3日22时起暂停售票,南、西、北三个入山口全面实施封闭管理措...
原创 走... 8月3日,星期日,农历闰六月初十。 昨晚,与朝阳哥在芝玉哥家小酌了几杯“8+1”,微醺之际,忽然觉得...
贵州一景区大量游客被滞留至凌晨... 澎湃新闻记者 李思文 实习生 张静琳 因为未控制好客流量,贵州施秉县一景区大量游客滞留至凌晨。 8月...
梧州文旅这一周(7月28日至8... 本期《梧州文旅这一周》聚焦“文旅产业融合高质量发展激励政策”“广西青少年足球锦标赛”“文旅工作培训班...
上海人家门口的古典园林!青浦曲... 青浦城厢镇的曲水园,始建于乾隆十年(初名灵园),因园内曲水蜿蜒,令人联想王羲之“曲水流觞”之雅趣,故...
安宁市禄脿街道第十届葡萄文化旅... 8月2日,安宁市禄脿街道第十届葡萄文化旅游节在艾家营村委会葡萄园区开幕。本届活动以“葡韵禄脿,萄醉十...
网传“少林寺免票”不实!游客仍... 近期,"少林寺免票"等所谓新规在网上流传。8月2日,有记者实地探访少林寺发现,网传寺院目前无需购票的...
带你了解高安名胜古迹之一《金沙... 笔者近期在《高安寻古》平台推送系列文章:《高安金沙刘氏源流》,有读者提出;金沙台村及来苏渡村去了哪里...
省事儿!三伏天晚餐3个菜,清清... 三伏天,尤其是中伏,真的是热啊,一出门感觉就要被烤焦,一下雨感觉被清蒸,幸好家里有空调,否则都不愿进...
昆明首个适老化服务市场亮相,听... “这边菜便宜,煲汤的大骨比我家旁边的菜市每斤便宜4块钱。”“我今年70多了,天天出门买菜就是一种锻炼...
安宁市禄脿街道第十届葡萄文化旅... 8月2日,安宁市禄脿街道第十届葡萄文化旅游节在艾家营村委会葡萄园区开幕。本届活动以“葡韵禄脿,萄醉十...
原创 罐... 罐头本身就是防腐剂,就是罐头本身就是防腐技术…… 2025-08-03 我家儿子很喜欢吃罐头,可能是...
视频|2025年“羊城八景”正... 珠江水畔,千年商都的城市肌理中,藏着八幅流动的画。 2025年“羊城八景”评选,今天(8月3日)正式...
原创 马... 8月7日,立秋节气便要如约而至了。虽然“秋老虎”的余威尚在,但早晚的凉风里已然夹着秋意,天气开始显出...
肇庆Country Walk,... 来到肇庆的广袤镇村, 放眼望去, 水清岸绿,错落有致的农家小院, 干净整洁的乡村道路, 抬头是湛蓝的...
跟着苏超游徐州 | 这周末,球... 昨晚 2025江苏省城市足球联赛第八轮 徐州队VS扬州队 在徐州奥体中心体育场 激情上演 徐州队最终...