我试图将UTF-8作为Python中的默认编码持久化。
我试过:
>>> import sys
>>> sys.getdefaultencoding()
'ascii'
我也试过:
>>> import sys
>>> reload(sys)
<module 'sys' (built-in)>
>>> sys.setdefaultencoding('UTF8')
>>> sys.getdefaultencoding()
'UTF8'
>>>
但在结束会议并开始新的会议之后,结果是:
>>> import sys
>>> sys.getdefaultencoding()
'ascii'
如何坚持我的更改?(我知道换成UTF-8并不总是个好主意。它在Python的Docker容器中)。
我知道这是可能的。我看到有人把UTF-8作为他的默认编码(总是)。
请查看site.py库-它是
sys.setdefaultencoding
发生的地方。我认为,您可以修改或替换这个模块,以便使它在您的机器上永久存在。下面是一些源代码,注释解释了一些事情:完整源https://hg.python.org/cpython/file/2.7/Lib/site.py。
这是他们删除
sys.setdefaultencoding
函数的地方,如果您想知道:您始终可以在python文件的顶部添加:
它将在*nix系统中更改该文件的编码为utf-8。
首先,这几乎肯定是一个坏主意,因为如果您在没有完成此配置的另一台计算机上运行代码,代码将神秘地中断。
(1)创建一个这样的新文件(我的文件名为
setEncoding.py
):(2)将环境变量
[PYTHONSTARTUP][1]
设置为指向此文件。(3)加载Python解释器时,首先执行文件中
PYTHONSTARTUP
所指向的代码:相关问题 更多 >
编程相关推荐