Handling command line arguments with Python
sys Module and sys.argv
Let's create a python file with name passCmdArgs.py.
If we run the above program with "python passCmdArgs.py first", output would be:
Let's modify the above example for 2 parameters:
If we execute the above program by passing only one parameter, it will throw "IndexError: list index out of range".
-K Himaanshu Shuklaa..
- There are number of different ways of handling command line arguments in Python 3.
- 'sys' module is the built-in way.
- We can also use getopt module, which handles both short and long options, including the evaluation of the parameter values.
- argparse module, which is derived from the optparse module available up to Python 2.7, we can also use it to handle command line arguments.
- The other method is using the docopt module, which is available on GitHub.
sys Module and sys.argv
- 'sys' a basic module that has been shipped with Python from the early days. This module implements the command line arguments in a simple list structure named sys.argv.
- argv represents all the items that come along via the command line input, it's basically an array holding the command line arguments of our program. FYI, the counting starts at zero (0) not one (1).
- To use 'sys.argv', we need to first import sys.
- The first argument, sys.argv[0], is always the name of the program from where it was invoked. The rest of the list elements, sys.argv[1] to sys.argv[n], are the command line arguments 2 through n. A space is used as a delimiter between the arguments. If the argument values contains a space in it, we have to be surrounded by quotes in order to be properly parsed by sys.
- We get check/ get how many arguments have been entered by using len(sys.argv).
Let's create a python file with name passCmdArgs.py.
If we run the above program with "python passCmdArgs.py first", output would be:
Let's modify the above example for 2 parameters:
If we execute the above program by passing only one parameter, it will throw "IndexError: list index out of range".
Iterating Through Arguments using for loop
Let's execute above program by passing 2 parameters (first, second)
Iterating Through Arguments using while loopLet's execute above program by passing 2 parameters (first, second)
-K Himaanshu Shuklaa..
No comments:
Post a Comment