13

我想得到终端的大小。我正在使用这个功能:

import sys, struct, fcntl, termios

s = struct.pack('HHHH', 0, 0, 0, 0)
t = fcntl.ioctl(sys.stdout.fileno(), termios.TIOCGWINSZ, s)
print(struct.unpack('HHHH', t))

但到底是termios.TIOCGWINSZ什么?

4

1 回答 1

24

这是一个由您运行的系统决定的神奇常数。由终端驱动程序。

结合ioctl(),它可以准确地告诉你想要什么,在你的情况下调用 IOCtl 来获取窗口大小。因此名称TIOCGWINSZIOCtl to Get WINdow Si Ze。

这段文档可能会帮助您理清思路。

于 2013-04-26T13:10:54.017 回答