Subcommands and Options
Build complex CLIs.
Why Subcommands?
Tools like git have subcommands: git add, git commit. argparse supports this through subparsers, where each subcommand has its own arguments.
import argparse
parser = argparse.ArgumentParser(prog='tool')
sub = parser.add_subparsers(dest='command')
print('subparsers ready')Adding Subparsers
add_subparsers returns an object whose add_parser method creates each subcommand. dest stores which one was chosen.
import argparse
parser = argparse.ArgumentParser()
sub = parser.add_subparsers(dest='command')
sub.add_parser('start')
sub.add_parser('stop')
args = parser.parse_args(['start'])
print('command:', args.command)All lessons in this course
- argparse Basics
- Subcommands and Options
- The Click Library
- Rich Terminal Output