Python为什么需要reload(sys)后在设置默认编码 2015-01-20 12:12:07 Python启动时默认加载site.py:<https://hg.python.org/cpython/file/2.7/Lib/site.py#l545> site.py的main函数出有一块代码: # Remove sys.setdefaultencoding() so that users cannot change the # encoding after initialization. The test for presence is needed when # this module is run as a script, because this code is executed twice. if hasattr(sys, "setdefaultencoding"): del sys.setdefaultencoding 因此,如果需要在运行时设置默认编码,就需要重新reload,sys模块。 site.py的作用是加载site-packages中的包和模块到python的sys.path里面,让你可以在代码中import你安装的包。 以后在见到这样的代码也就不用奇怪了: reload(sys) sys.setdefaultencoding('utf-8') 非特殊说明,均为原创,原创文章,未经允许谢绝转载。 原始链接:Python为什么需要reload(sys)后在设置默认编码 赏 Prev 在Mac下安装MySQL-python Next Spark中使用UDF遇到的一个奇怪的问题