import argparse
import sys
def collect_cli_metrics():
"""Collects and prints metrics about command-line arguments."""
parser = argparse.ArgumentParser(description="Collect CLI argument metrics.")
# Define arguments (example)
parser.add_argument("--input_file", type=str, help="Path to input file")
parser.add_argument("--output_dir", type=str, help="Path to output directory")
parser.add_argument("--dry_run", action="store_true", help="Perform a dry run")
parser.add_argument("--verbose", action="store_true", help="Enable verbose output")
args = parser.parse_args()
# Count the number of arguments
num_args = len(sys.argv) - 1 # Exclude the script name
# Count the number of arguments with specific names.
input_file_count = 0
output_dir_count = 0
dry_run_count = 0
verbose_count = 0
for arg in args:
if arg == "--input_file":
input_file_count += 1
elif arg == "--output_dir":
output_dir_count += 1
elif arg == "--dry_run":
dry_run_count += 1
elif arg == "--verbose":
verbose_count += 1
print("CLI Argument Metrics:")
print(f" Total arguments: {num_args}")
print(f" --input_file: {input_file_count}")
print(f" --output_dir: {output_dir_count}")
print(f" --dry_run: {dry_run_count}")
print(f" --verbose: {verbose_count}")
if __name__ == "__main__":
collect_cli_metrics()
Add your comment