python 2.7如何将sys.displayhook更改回默认值

时间:2016-11-08 01:04:18

标签: python unicode

对于a = u'\u4e00'如果我在控制台中输入a,我会得到:u'\u4e00'。因此,要将a显示为unicode字符,我可以按如下方式更改sys.displayhook:

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,我会得到

问题:如果之后,我想将sys.displayhook更改回原始默认设置。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

sys.displayhook = sys.__displayhook__

sys.__displayhook__存储了原始sys.displayhook,用于此类案例。

(顺便说一句,我还建议你不要做原来的sys.displayhook替换。你可能只想要print a,也许有一些东西要匹配你的终端编码的编码。)

相关问题