How to use getopt module In Python
Python getopt module is similar to the getopt() function of C. Unlike sys module getopt module extends the separation of the input string by parameter validation. It allows both short, and long options including a value assignment. However, this module requires the use of the sys module to process input data properly. To use getopt module, it is required to remove the first element from the list of command-line arguments.
Syntax: getopt.getopt(args, options, [long_options])
Parameters:
args: List of arguments to be passed.
options: String of option letters that the script want to recognize. Options that require an argument should be followed by a colon (:).
long_options: List of string with the name of long options. Options that require arguments should be followed by an equal sign (=).
Return Type: Returns value consisting of two elements: the first is a list of (option, value) pairs. The second is the list of program arguments left after the option list was stripped.
Example:
Python3
# Python program to demonstrate # command line arguments import getopt, sys # Remove 1st argument from the # list of command line arguments argumentList = sys.argv[ 1 :] # Options options = "hmo:" # Long options long_options = [ "Help" , "My_file" , "Output=" ] try : # Parsing argument arguments, values = getopt.getopt(argumentList, options, long_options) # checking each argument for currentArgument, currentValue in arguments: if currentArgument in ( "-h" , "--Help" ): print ( "Displaying Help" ) elif currentArgument in ( "-m" , "--My_file" ): print ( "Displaying file_name:" , sys.argv[ 0 ]) elif currentArgument in ( "-o" , "--Output" ): print (( "Enabling special output mode (% s)" ) % (currentValue)) except getopt.error as err: # output error, and return with an error code print ( str (err)) |
Output:
Command Line Arguments in Python
The arguments that are given after the name of the program in the command line shell of the operating system are known as Command Line Arguments. Python provides various ways of dealing with these types of arguments. The three most common are:
- Using sys.argv
- Using getopt module
- Using argparse module