argparse - Command-Line Argument Parser
The argparse module makes it easy to write user-friendly command-line interfaces. It parses arguments defined in sys.argv, generates help and usage messages, and issues errors when users give invalid arguments.
🔍 Key Components
- argparse.ArgumentParser - Main parser class for command-line arguments
- argparse.Action - Base class for argument actions
- argparse.Namespace - Object to store parsed arguments
- argparse.FileType - Factory for file object arguments
🚀 Basic Usage
import argparse
# Create parser
parser = argparse.ArgumentParser(description='Process some files.')
# Add arguments
parser.add_argument('filename', help='Input filename')
parser.add_argument('--verbose', '-v', action='store_true',
help='Enable verbose output')
parser.add_argument('--count', type=int, default=1,
help='Number of times to process')
# Parse arguments
args = parser.parse_args()
# Use arguments
if args.verbose:
print(f"Processing {args.filename} {args.count} times")
📊 Argument Types
| Type | Purpose | Example |
|---|---|---|
| Positional | Required arguments | filename |
| Optional | Flag arguments | --verbose, -v |
| Store | Store values | --output file.txt |
| Store True/False | Boolean flags | --verbose |
| Count | Count occurrences | -vvv |
| Append | List values | --file a.txt --file b.txt |