小编典典

为什么我们不应该在 py 脚本中使用 sys.setdefaultencoding("utf-8") ?

all

我见过几个在脚本顶部使用它的 py 脚本。在什么情况下应该使用它?

import sys
reload(sys)
sys.setdefaultencoding("utf-8")

阅读 82

收藏
2022-07-31

共1个答案

小编典典

根据文档:这允许您从默认 ASCII 切换到其他编码,例如 UTF-8,Python 运行时将在必须将字符串缓冲区解码为 un​​icode 时使用该编码。

此功能仅在 Python 启动时可用,此时 Python
扫描环境。必须在系统范围的模块中调用它sitecustomize.py,在评估此模块后,setdefaultencoding()从模块中删除该函数sys

实际使用它的唯一方法是使用重新加载技巧来恢复属性。

此外, 一直不鼓励 使用sys.setdefaultencoding(),它已成为 py3k 中的无操作。py3k
的编码硬连线到“utf-8”,更改它会引发错误。

我建议一些阅读建议:

2022-07-31