Python Glossary English

Python 3.3+osфункция

os.get_terminal_size

os — терминал и устройства

Возвращает размер терминала (columns, lines); бросает OSError, если вывод не привязан к терминалу.

Синтаксис

os.get_terminal_size()

При выводе в файл или канал поднимает OSError, поэтому код, который форматирует вывод по ширине, падает под перенаправлением и в CI. Для обычных программ нужна shutil.get_terminal_size: она учитывает переменные COLUMNS и LINES и при отсутствии терминала возвращает запасное значение (80, 24).

Примеры

import os
size = os.get_terminal_size()  # → ? только в терминале; в пайпе и CI — OSError
print(size)   # → os.terminal_size(columns=80, lines=24) — конкретные числа зависят от размеров окна терминала
print(size.columns)   # → ширина терминала в символах, например 80
print('-' * size.columns)   # → разделитель во всю ширину окна — типовое применение
print(os.get_terminal_size(0).lines)   # → высота терминала, привязанного к stdin (по умолчанию берётся stdout)
print(os.get_terminal_size(999))   # → OSError — дескриптор не привязан к терминалу; та же ошибка при запуске из пайпа или CI, поэтому в утилитах берут shutil.get_terminal_size() с запасным значением

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности