Open In App

How to parse boolean values with `argparse` in Python

Last Updated : 05 Feb, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Command-line arguments are a powerful feature of many programming languages, including Python. They allow developers to specify options or parameters when running a script, making it more flexible and customizable. However, the process of parsing these arguments can be a tedious and error-prone task if done manually. The ‘argparse’ module in Python provides an easy and elegant way to parse command-line arguments, making it a popular choice among developers.

The argparse is a built-in Python library for parsing command-line arguments. As mentioned above it allows users to certain options and arguments for a script in a more organized and user-friendly way.

One common type of argument that you may want to accept is a boolean value, which can be either True or False. In this tutorial, we’ll show you how to use ‘argparse’ to parse boolean values.

For the process of parsing boolean values with argparse, you can use the add_argument() method and set the action parameter to “store_true” or “store_false“. The store_true option has a default value of False. Whereas, store_false has a default value of True. 

Important concepts :

  • Command-line arguments: These are options or parameters that can be passed to a script when it is run from the command-line. They allow users to modify the behavior of the script and can include things like file paths, settings, and flags.
  • Parsing: This refers to the process of analyzing and interpreting the command-line arguments passed to a script. It involves breaking down the arguments into individual components and extracting the relevant information.
  • Boolean values: These are data types that can have one of two possible values: True or False. They are often used to represent yes/no or on/off options in command-line scripts.
  • argparse module: This is a built-in Python library that provides a convenient way to parse command-line arguments. It allows users to specify options and arguments in a user-friendly way and also provides features like automatic help messages and error handling.
  • add_argument() method: This is a method provided by the argparse module that allows users to add command-line arguments to a script. It takes various parameters, such as the name of the argument, its type, and whether or not it is required.
  • parse_args() method: This method is used to parse the command-line arguments passed to a script. It takes the arguments provided to the script and returns an object containing the values of the arguments.

Step-by-step guide :

Here are the steps needed to parse boolean values with argparse:

Step 1: Import the argparse module

To use the module first we need to import it, before importing the module you need to verify that the module is installed using the pip command.

Python




import argparse


Step 2: Create a parser object

To use the imported module we need to create a parser object first.

Python




parser = argparse.ArgumentParser()


‘ArgumentParser’ object will be used to specify the arguments that our script should accept.

Step 3: Use the add_argument() method to add a boolean option or argument.

Python




parser.add_argument("--verbose", action="store_true",
                    help="increase output verbosity")


To add a boolean argument to our script, we can use the add_argument() method of the ArgumentParser object. This method accepts various arguments that can be used to specify how the argument should be parsed. In this example, we’re adding an argument called “–verbose” which is a boolean value with that we’ll use the action argument to specify that we want to accept a boolean value and the help argument can be used to specify a string that should be displayed when the user runs the script with the -h or –help option. This can be useful for providing additional information about the purpose of an argument and also how to use it.

Step 4: Use the parse_args() method to parse the command-line arguments

Follow is the implementation for it :

Python




args = parser.parse_args()


We can use the parse_args() method to parse the command-line arguments. This method returns an object that contains the values of the arguments that were provided on the command line.

Step 5) Use the .dest variable of the returned namespace object to access the value of the boolean

here we can now access the value by using

args.verbose

Python




args = parser.parse_args()
if args.verbose:
    print("Verbosity turned on")
    print("Starting the script...")
else:
    print("Starting the script...")


Run this code by typing the following command:

python script_name.py

Examples:

Here are some examples for a better understanding, you can follow similar steps as given above for these examples.

Example 1:

Verbose mode: A common use case for boolean values is to enable verbose mode in a script. This might print extra information to the console, such as debugging messages or changing the level of detail in the output.

Python




import argparse
  
parser = argparse.ArgumentParser()
parser.add_argument("--verbose", action="store_true",
                    help="increase output verbosity")
args = parser.parse_args()
if args.verbose:
    print("Verbosity turned on")
    print("Starting the script...")
else:
    print("Starting the script...")


Output :

 

Example 2:

Quiet mode: Similar to verbose mode, you can use boolean values to turn off the output of a script.

Python




import argparse
  
parser = argparse.ArgumentParser()
parser.add_argument("--quiet", action="store_false",
                    help="decrease output verbosity")
args = parser.parse_args()
if args.quiet:
    print("Starting the script...")
else:
    print("Quiet mode turned on")


Output :

 

Example 3:

Enabling/Disabling a feature: You can also use boolean values to turn on/off a specific feature of a script.

Python




import argparse
  
parser = argparse.ArgumentParser()
parser.add_argument("--enable-feature", action="store_true",
                    help="enable a specific feature")
args = parser.parse_args()
if args.enable_feature:
    print("feature is enabled")
    # code to enable the feature
else:
    print("feature is disabled")


Output:

 

Hope this article fulfills your needs and that you will get an overview of how to parse boolean values with `argparse` in Python. Try more examples with it by yourself too. Thank you.



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads