Я пишу терминальную программу, и мне нужно получить размер TTY, который я использую. Интернет, кажется, предлагает, что это можно сделать с помощью проклятий, но я не могу понять, как в Python. Я стараюсь избегать использования переменных окружения ROWS и COLUMNS, если это возможно:)
Очевидно, вам нужен метод getmaxyx (). Возвращает кортеж (высота, ширина).
Редактировать: ссылка на учебник мертва, вот архивная версия. И вот пример из этой ссылки:
Теперь предположим, что мы хотим нарисовать X по диагонали. Нам нужно знать, когда нужно остановиться, поэтому нам нужно знать ширину и высоту экрана. Это делается с помощью функции stdscr.getmaxyx (). Эта функция возвращает кортеж со значениями (высота, ширина).
blockquote>#!/usr/bin/python import curses import time stdscr = curses.initscr() curses.cbreak() curses.noecho() stdscr.keypad(1) try: # Run your code here height,width = stdscr.getmaxyx() num = min(height,width) for x in range(num): stdscr.addch(x,x,'X') stdscr.refresh() time.sleep(3) finally: curses.nocbreak() stdscr.keypad(0) curses.echo() curses.endwin()