Search code examples
pythonlinuxconsoleterminalwidth

How to get Linux console window width in Python


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


Solution

  • Not sure why it is in the module shutil, but it landed there in Python 3.3. See:

    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. Cross-platform—works under Linux, Mac OS, and Windows, probably other Unix-likes. There's a backport as well, though no longer relevant.