Categories
Python

Building Command Line Interface using Python

Creating a command line interface with Python is pretty easy 🙂 Python has a built in module — “cmd” to assist you in building a command line interface of your application.

In this example, I have created a dummy shell that uses the os.system() call to execute a command in terminal. Here is the code explanations:

First, we import the modules required for the demo. Then, we create a subclass of the cmd.Cmd class. Then we define the commands by defining and naming methods in “do_” in scheme. When the user types something like “ “, the do_ is called and the parameters are passed as a single string. If a method returns True, the shell exits. We can define help docs by naming methods in “help_” scheme. do_EOF handles the “end of file” character. That’s this function is called when we press Ctrl+D on Linux shell. By default, pressing the enter key without any command executes the last command. We override this behaviour by re-defining the emptyline() method.

For a complete reference, please consult the python manual.

Here’s the source code of the program I wrote:
Type “shell date” or any other commands to try it out.
Type “help” to get help 🙂

One reply on “Building Command Line Interface using Python”

Comments are closed.