2024-09-28 22:35:01 发布
网友
此代码返回终端窗口的大小。你知道吗
def gettermsize(): s = struct.pack("HHHH", 0, 0, 0, 0) a = struct.unpack('hhhh', fcntl.ioctl(sys.stdout.fileno(), termios.TIOCGWINSZ , s)) return (a[0], a[1])
它到底在做什么?你知道吗
一般来说,ioctrl调用将允许操作员查询&;/。在这种情况下,标准输出控制台(由sys.stdout.fileno()提供的句柄)正在查询终端设备(termios)、窗口大小(TIOCGWINSZ),它需要一个由4个16位无符号值组成的结构来处理(s),它返回4个有符号值,其中前两个值可能用作高度和宽度。需要打包/解包值的原因是,这实际上是直接调用C代码。你知道吗
ioctrl
sys.stdout.fileno()
termios
TIOCGWINSZ
s
一般来说,
ioctrl
调用将允许操作员查询&;/。在这种情况下,标准输出控制台(由sys.stdout.fileno()
提供的句柄)正在查询终端设备(termios
)、窗口大小(TIOCGWINSZ
),它需要一个由4个16位无符号值组成的结构来处理(s
),它返回4个有符号值,其中前两个值可能用作高度和宽度。需要打包/解包值的原因是,这实际上是直接调用C代码。你知道吗相关问题 更多 >
编程相关推荐