Command line arguments

What are command line arguments in python?

In the command line, we can start a program with additional arguments.
These arguments are passed into the program.

Python programs can start with command line arguments. For example:

$ python image.bmp

where and image.bmp is are arguments. (the program is Python)

Related Course:

How to use command line arguments in python?

We can use modules to get arguments.

Which modules can get command line arguments?

Note: Choose a module to get arguments. Examples below, try all! ­čÖé

Module Use Python Version
sys All arguments in sys.argv (basic) All
argparse Build a command line interface >= 2.3.
docopt Create command line interfaces >= 2.5.
optparse Deprecated Deprecated (< 2.7)

Sys argv

You can get access to the command line parameters using the sys module.  len(sys.argv) contains the number of arguments.  To print all of the arguments simply execute str(sys.argv)


$ python3 image.bmp color
Arguments: 3
List: [‘’, ‘image.bmp’, ‘color’]

Storing command line arguments
You can store the arguments given at the start of the program in variables.
For example, an image loader program may start like this:

Another example:

(‘Arguments:’, 2)
(‘List:’, “[‘’, ‘world.png’]”)
(‘Filename:’, ‘world.png’)

Related Course:


If you need more advanced parsing, you can use argparse.
You can define arguments like (-o, -s).

The example below parses parameters:


Docopt can be used to create command line interfaces.

Note: docopt is not tested with Python 3.6


Previous Post
Next Post

3 Replies to “Command line arguments”

  1. There is two issue with second example code:
    1. In line # 9: it should be like this: if len(sys.argv) < 2: NOT like this: if sys.argv < 2:
    2. Line #12 & 13 should be in 'else' statement like this:
    filename = sys.argv[1]
    print('Filename:', filename)


Leave a Reply

Your email address will not be published. Required fields are marked *