gpt4 book ai didi

python - 我可以关闭隐式 Python unicode 转换来查找我的混合字符串错误吗?

转载 作者:太空狗 更新时间:2023-10-29 21:35:44 25 4
gpt4 key购买 nike

在分析我们的代码时,我惊讶地发现有数百万次调用
C:\Python26\lib\encodings\utf_8.py:15(解码)

我开始调试,发现在我们的代码库中有很多小错误,通常是将字符串与 unicode 进行比较或添加 sting 和 unicode。 Python 优雅地解码字符串并以 unicode 执行以下操作。

真好。但是很贵!

我精通 unicode,阅读了 Joel SpolskyDive Into Python ...

我尽量让我们的代码内部只使用 unicode。

我的问题 - 我可以关闭这种 pythonic 好人行为吗?至少在我找到所有这些错误并修复它们之前(通常通过添加一个 u'u')?

其中一些极难找到(有时是字符串的变量...)。

Python 2.6.5(我无法切换到 3.x)。

最佳答案

以下应该有效:

>>> import sys
>>> reload(sys)
<module 'sys' (built-in)>
>>> sys.setdefaultencoding('undefined')
>>> u"abc" + u"xyz"
u'abcxyz'
>>> u"abc" + "xyz"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/encodings/undefined.py", line 22, in decode
raise UnicodeError("undefined encoding")
UnicodeError: undefined encoding
上面代码片段中的

reload(sys) 只在这里是必需的,因为通常 sys.setdefaultencoding 应该放在 sitecustomize.py 中文件在您的 Python site-packages 目录中(建议这样做)。

关于python - 我可以关闭隐式 Python unicode 转换来查找我的混合字符串错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2851481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com