[python] Rozměry textového okna
Michal Molhanec
molhanec na seznam.cz
Pondělí Březen 17 11:56:36 CET 2008
zu1234 napsal(a):
> Zdravím.
>
> Potřebuji přerušovat zobrazení delšího textu:
> Kde by si mohl python program bežící pod windows-y v textovém okně
> zjistit jeho (aktuální) rozměny (počet řádků s sloupců)?
Pro Python s ctypes (od Pythonu 2.5 soucast standardni knihovny):
def getConsoleWindowSize():
"""Return size of the console window on Windows as
a tuple (width, height) or (None, None) if ctypes
are not available or some error happens."""
try:
import ctypes
class COORD(ctypes.Structure):
_fields_ = [("x", ctypes.c_short),
("y", ctypes.c_short)]
class SMALL_RECT(ctypes.Structure):
_fields_ = [("l", ctypes.c_short),
("t", ctypes.c_short),
("r", ctypes.c_short),
("b", ctypes.c_short)]
class CONSOLE_SCREEN_BUFFER_INFO(ctypes.Structure):
_fields_ = [("size", COORD),
("cursorPosition", COORD),
("attrs", ctypes.c_ushort),
("win", SMALL_RECT),
("maxWinSize", COORD)]
info = CONSOLE_SCREEN_BUFFER_INFO()
handle = ctypes.windll.kernel32.GetStdHandle(-11)
ctypes.windll.kernel32.GetConsoleScreenBufferInfo(handle,
ctypes.byref(info))
return (info.win.r - info.win.l + 1,
info.win.b - info.win.t + 1)
except:
return (None, None)
print getConsoleWindowSize()
Další informace o konferenci Python