• 13.5 获取终端的大小
    • 问题
    • 解决方案
    • 讨论

    13.5 获取终端的大小

    问题

    你需要知道当前终端的大小以便正确的格式化输出。

    解决方案

    使用 os.get_terminal_size() 函数来做到这一点。

    代码示例:

    1. >>> import os
    2. >>> sz = os.get_terminal_size()
    3. >>> sz
    4. os.terminal_size(columns=80, lines=24)
    5. >>> sz.columns
    6. 80
    7. >>> sz.lines
    8. 24
    9. >>>

    讨论

    有太多方式来得知终端大小了,从读取环境变量到执行底层的 ioctl() 函数等等。不过,为什么要去研究这些复杂的办法而不是仅仅调用一个简单的函数呢?

    原文:

    http://python3-cookbook.readthedocs.io/zh_CN/latest/c13/p05_getting_terminal_size.html