Вы можете использовать утилиту tput
для запроса количества строк и столбцов, доступных в терминале. Вы можете выполнить его, используя subprocess.Popen
:
>>> import subprocess
>>> tput = subprocess.Popen(['tput', 'cols'], stdout=subprocess.PIPE)
>>> int(tput.communicate()[0].strip())
180
Тот же принцип можно применять и для запроса переменной $COLUMNS
, как , упомянутой gregseth:
>>> tput = subprocess.Popen(['echo $COLUMNS'], shell=True, stdout=subprocess.PIPE)
>>> int(tput.communicate()[0].strip())
180
Наконец, если вы в порядке с использованием библиотеки curses для такой простой задачи, как предложенный Игнасио Васкесом-Абрамсом, то обратите внимание, что вам нужно выполнить три заявления, а не одно:
>>> import curses
>>> curses.setupterm()
>>> curses.tigetnum('cols')
180
Если размер терминала изменяется, то необходимо будет вызвать setupterm
, прежде чем можно будет запросить новую ширину терминала, используя tigetnum
.