当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python sys.displayhook用法及代码示例


用法:

sys.displayhook(value)

如果 value 不是 None ,则此函数将 repr(value) 打印到 sys.stdout ,并将 value 保存在 builtins._ 中。如果 repr(value) 不能使用 sys.stdout.errors 错误处理程序(可能是 'strict' )编码为 sys.stdout.encoding,则使用 'backslashreplace' 错误处理程序将其编码为 sys.stdout.encoding

sys.displayhook 在计算交互式 Python 会话中输入的表达式的结果时调用。可以通过将另一个单参数函数分配给 sys.displayhook 来自定义这些值的显示。

Pseudo-code:

def displayhook(value):
    if value is None:
        return
    # Set '_' to None to avoid recursion
    builtins._ = None
    text = repr(value)
    try:
        sys.stdout.write(text)
    except UnicodeEncodeError:
        bytes = text.encode(sys.stdout.encoding, 'backslashreplace')
        if hasattr(sys.stdout, 'buffer'):
            sys.stdout.buffer.write(bytes)
        else:
            text = bytes.decode(sys.stdout.encoding, 'strict')
            sys.stdout.write(text)
    sys.stdout.write("\n")
    builtins._ = value

在 3.2 版中更改:采用'backslashreplace'错误处理程序UnicodeEncodeError.

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 sys.displayhook。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。