2013-04-26 10 views
7

Chcę uzyskać rozmiar terminala. Używam tej funkcji:Co to jest 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)) 

Ale co na ziemi jest termios.TIOCGWINSZ?

Odpowiedz

14

Jest to stała magiczna określona przez system, w którym działasz. przez sterownik terminala.

W połączeniu z ioctl(), służy do informowania o tym, co chcesz, w twoim przypadku wywołaj IOCtl, aby uzyskać rozmiar okna. Tak więc, nazwa , IOC i WIN dow.

This bit of documentation może pomóc w wyjaśnieniu.

+1

@KevinBurke Sposób, w jaki to napisałem, miał na celu wyjaśnienie, dlaczego stała jest nazywana w ten sposób. – glglgl

+1

Przyznaję jednak, że wygląda to paskudnie. – glglgl