Python - Console Input/Output
The click
and argparse
modules in Python are used for creating command-line interfaces (CLIs) for your scripts or applications. They provide a convenient way to define and parse command-line arguments, handle user input, and execute specific functionalities based on user commands.
click
is a third-party library that offers a higher-level interface for building CLIs, while argparse
is part of the Python standard library and provides a more traditional way to define command-line arguments.
Here's an example program that demonstrates the purpose of both click
and argparse
for creating a simple CLI:
# Using click and argparse for command-line interfaces
# Installing click (if not already installed)
# pip install click
# Importing click and argparse modules
import click
import argparse
# Using click for CLI
@click.command()
@click.option('--name', prompt='Enter your name', help='Your name')
def click_cli(name):
click.echo(f'Hello, {name}!')
# Using argparse for CLI
def argparse_cli():
parser = argparse.ArgumentParser(description='Command-line interface using argparse')
parser.add_argument('--name', required=True, help='Your name')
args = parser.parse_args()
print(f'Hello, {args.name}!')
# Calling the click CLI
click_cli()
# Calling the argparse CLI
argparse_cli()
In this example, both click
and argparse
are used to define a CLI that takes a user's name as an argument and prints a greeting. The click
CLI is defined using decorators, and the argparse
CLI is defined using the argparse
module.
Here's how the program works:
Enter your name: Hello, User! usage: script.py [-h] --name NAME script.py: error: the following arguments are required: --name