Python scripts can be run in different ways. Python interpreter can be used to file python scripts but it is not so practical. Also, scripts are not saved. After the interpreter is closed or written code will be lost. The most popular usage to write and run python scripts is creating a python script file and running it. Passing parameters or options to the script is very useful. There is two popular way to pass command-line arguments to the python.
- Getopt Module
- Argparse Module
We will look in details to these modules below.
Getopt Module
Getopt module is a python module that can be loaded with import sys . This module provides command-line arguments as an array.
#!/usr/bin/python3
import sys
print(sys.argv)

As we can see there is an empty list normally it contains provided arguments as list elements. Save this script to the file pythoncommandlineargument.py .Make python script file executable like below.
$ chmod u+x pythoncommandlineargument.py
And we can run python script by providing arguments.
$ ./pythoncommandlineargument.py a1 a2 a3
As we see sys.argv provides arguments as a list. The first element of the list is the script name and others are arguments provided. We can easily get whatever we want just providing the index of the list like below.
sys.argv[1]
#a1
Argument Length
We can get provided argument list length like below.
#!/usr/bin/python3
import sys
print(len(sys.argv))
And we run our script again with arguments
$ ./pcla.py a1 a2 a3
ArgParser
ArgParser is used to show the argument menu and parse provided argument according to the menu. This module is used to create more user-friendly menus.
#!/usr/bin/python3
import argparse
parser = argparse.ArgumentParser(description='This is a example')
parser.add_argument('-i','--input', help='Set Input',required=True)
args = parser.parse_args()
print(args.input)
- Description can be provided with description=’This is a example’
- Arguments are added with add_argument where -i is short –input is a long specifier
- Help about the specified argument is provided with help=’Set Input’

List and Print Arguments Help Menu
We will run like regular Linux tools with the -h
option which will print required arguments and their input names both short and long format. We run our script by providing -h
to get help menu.
$ ./pcla.py -h

Get Provided Argument
We can also parse given argument with -i
like below. We can get provided argument by getting input from the parser.
$ ./pcla.py -i a1