How to get Linux console window width in Python

Sergey Golovchenko picture Sergey Golovchenko · Feb 19, 2009 · Viewed 119.1k times · Source

Is there a way in python to programmatically determine the width of the console? I mean the number of characters that fits in one line without wrapping, not the pixel width of the window.

Edit

Looking for a solution that works on Linux

Answer

Gringo Suave picture Gringo Suave · Jan 20, 2013

Not sure why it is in the module shutil, but it landed there in Python 3.3, Querying the size of the output terminal:

>>> import shutil
>>> shutil.get_terminal_size((80, 20))  # pass fallback
os.terminal_size(columns=87, lines=23)  # returns a named-tuple

A low-level implementation is in the os module. Also works in Windows.

A backport is now available for Python 3.2 and below: