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