Input box
When writing console-based software, it is sometimes necessary to ask users to provide long text inputs that can't easily be provided through command options.
There are few examples of this in the Unix world, such as editing crontab
or tweaking multiple configuration options at once. Most of them rely on starting a fully-fledged third-party editor, such as nano or vim, but it's possible to easily roll a solution that in many cases will suffice with just the Python standard library, such that our tools can ask long or complex user input.
Getting ready
The curses
library is only included in Python for Unix systems, so Windows users might need a solution, such as CygWin or the Linux Subsystem for Windows, to be able to have a Python setup that includes curses
support.
How to do it...
For this recipe, perform the following steps:
- The Python standard library provides a
curses.textpad
module that has the foundation of a multiline text editor withemacs
, such as key bindings. We just need to...