當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。