我想得到终端的大小。我正在使用这个功能:
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
什么?
我想得到终端的大小。我正在使用这个功能:
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
什么?
这是一个由您运行的系统决定的神奇常数。由终端驱动程序。
结合ioctl()
,它可以准确地告诉你想要什么,在你的情况下调用 IOCtl 来获取窗口大小。因此名称TIOCGWINSZ
,IOC
tl to G
et WIN
dow S
i Z
e。
这段文档可能会帮助您理清思路。