Book Image

Modern Python Standard Library Cookbook

By : Alessandro Molina
Book Image

Modern Python Standard Library Cookbook

By: Alessandro Molina

Overview of this book

The Python 3 Standard Library is a vast array of modules that you can use for developing various kinds of applications. It contains an exhaustive list of libraries, and this book will help you choose the best one to address specific programming problems in Python. The Modern Python Standard Library Cookbook begins with recipes on containers and data structures and guides you in performing effective text management in Python. You will find Python recipes for command-line operations, networking, filesystems and directories, and concurrent execution. You will learn about Python security essentials in Python and get to grips with various development tools for debugging, benchmarking, inspection, error reporting, and tracing. The book includes recipes to help you create graphical user interfaces for your application. You will learn to work with multimedia components and perform mathematical operations on date and time. The recipes will also show you how to deploy different searching and sorting algorithms on your data. By the end of the book, you will have acquired the skills needed to write clean code in Python and develop applications that meet your needs.
Table of Contents (21 chapters)
Title Page
Copyright and Credits
Packt Upsell
Contributors
Preface
Index

Sizing terminal text


We saw the Aligning text recipe in Chapter 2, Text Management, which showcased a possible solution to align text within a fixed space. The amount of space available was defined in a COLSIZE constant that was chosen to fit most terminals with three columns (most terminals fit 80 columns).

But what happened if the user had a terminal window smaller than 60 columns? Our alignment would have been broken badly. Also, on very big windows, while the text wouldn't be broken, it would have looked too small compared to the window.

For this reason, it's usually better to also take into consideration the size of the user terminal window whenever displaying text that should retain proper alignment properties.

 

How to do it...

The steps are as follows:

  1. The shutil.get_terminal_size function can give guidance on the terminal window size and provide a fallback for cases where it's not available. We will adapt the maketable function from the Aligning text recipe of Chapter 2Text Management...