gpt4 book ai didi

Python 2.7 在 Python 控制台中将 Unicode 打印为方框

转载 作者:行者123 更新时间:2023-11-30 22:47:40 25 4
gpt4 key购买 nike

我在 Mac 上使用最新的 Python 2 和 pycharm。

在Python控制台中,我注意到如果我print u'\u31d4',Python控制台会打印出一个半方框,㇔。 打印 u'\u31d2' 也是如此。但 31d4 应该是 cjk 笔划,如 http://unicode-table.com/en/search/?q=31d4 中所示。 ;和 31d2 应该是不同的笔划,如http://unicode-table.com/en/search/?q=31d2 .

问题:

  1. 如何才能让 Python 控制台正确打印出这些笔画?

  2. 一个相关问题:Python 控制台当前默认不打印 Unicode 字符,除非我显式调用 print。例如:

    (控制台提示符)>>> a = u'\u4e00'

    (控制台提示符)>>> a

控制台打印出u'\u4e00'

只有当我明确使用print a时,我才会得到。我可以更改某处的设置,以便在控制台中键入 a 时打印 ,而无需调用 print 吗?

最佳答案

问题 2

解释器显示的内容由函数sys.displayhook控制。宽松地说,默认显示 Hook 显示值的 repr,除非它是 None

要更改displayhook,只需将其设置为另一个函数即可。例如:

>>> a = u'\u4e00'
u'\u4e00'
>>> import sys
>>> def my_display(x):
... if isinstance(x, unicode):
... sys.stdout.write(x.encode("utf-8"))
... else:
... sys.stdout.write(repr(x))
... sys.stdout.write("\n")

>>> sys.displayhook = my_display
>>> a
>>> 一

关于Python 2.7 在 Python 控制台中将 Unicode 打印为方框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40457165/

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