gpt4 book ai didi

python - 重定向标准输出时出现 UnicodeEncodeError

转载 作者:IT老高 更新时间:2023-10-28 20:42:06 25 4
gpt4 key购买 nike

我在 Python 中遇到了关于 Unicode 的问题。我可以在常规终端中很好地打印输出,但是如果我将 stdout 重定向到其他地方(或使用 subprocess 模块捕获它),我会得到一个 UnicodeEncodeError:

$ cat example.py 
print u'Example: \u00F1'
$ python example.py
Example: ñ
$ python example.py > /dev/null
Traceback (most recent call last):
File "example.py", line 1, in <module>
print u'Example: \u00F1'
UnicodeEncodeError: 'ascii' codec can't encode character u'\xf1' in position 9: ordinal not in range(128)

这是为什么?我该如何解决?

最佳答案

不通向终端的管道没有编码,因此您需要检查 sys.stdout.isatty()并根据需要进行编码。

关于python - 重定向标准输出时出现 UnicodeEncodeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2224130/

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