def get_terminal_size():
size = namedtuple("_", ["rows", "columns"])
try:
rows, columns = subprocess.check_output(
['stty', 'size'],
stderr=subprocess.STDOUT
).split()
return size(rows=int(rows), columns=int(columns))
# this won't work
# - on windows (FileNotFoundError/OSError)
# - python 2.6 (AttributeError)
# - if the output is somehow mangled (ValueError)
except (ValueError, FileNotFoundError, OSError,
AttributeError, subprocess.CalledProcessError):
return size(rows=0, columns=0)
评论列表
文章目录