我的老板要求我把下面的线(从this answer)转换为Python脚本3我写道:我应该在我写的每个Python脚本中包含这个样板代码吗?
import sys
import codecs
sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach())
他说,这是为了防止UnicodeEncodeErrors
非UTF8语言打印Unicode字符时。我想知道这是否真的有必要,以及为什么Python不能正确处理编码/解码而没有样板代码。
使Python脚本与不同操作系统区域设置兼容的最Python方法是什么?这样的样板代码究竟做了什么?
你读过的最upvoted答案,以“伊克开始那是在Python 2众所周知的成语它看起来像!?对我来说是一个危险的错误。“此外,这是建议python2,甚至问题具体说,它不能在python3中工作!在其他地方,同一个问题的答案指出“ sys.stdout在Python 3中处于文本模式。因此,您直接写入unicode,并且不再需要Python 2的成语。” – GreenAsJade