August 2018
Intermediate to advanced
366 pages
10h 14m
English
Instead of relying on a constant for the size of a column, our maketable function now computes it by taking the terminal width (term_size.columns) and dividing it by the number of columns to show.
Three characters are always subtracted, because we want to account for the space consumed by the | separator.
The size of the terminal (term_size) is fetched through shutil.get_terminal_size, which will look at stdout to check the size of the connected terminal.
If it fails to retrieve the size or something that is not a terminal is connected as the output, then a fallback value is used. You can check the fallback value is working as expected simply by redirecting the output of your script to a file:
$ python myscript.py > output.txt ...