python
import argparse
class PyCLI:
def __init__(self):
self.parser = argparse.ArgumentParser(description='A command line interface tool')
self.subparsers = self.parser.add_subparsers(dest='command', help='Available commands')
# Add sub-command 1
parser_command1 = self.subparsers.add_parser('command1', help='Command 1 help')
parser_command1.add_argument('arg1', help='Argument 1 help')
# Add sub-command 2
parser_command2 = self.subparsers.add_parser('command2', help='Command 2 help')
parser_command2.add_argument('arg2', help='Argument 2 help')
def run(self):
args = self.parser.parse_args()
if args.command == 'command1':
self._handle_command1(args)
elif args.command == 'command2':
self._handle_command2(args)
else:
self.parser.print_help()
def _handle_command1(self, args):
print(f'Running Command 1 with argument: {args.arg1}')
def _handle_command2(self, args):
print(f'Running Command 2 with argument: {args.arg2}')
if __name__ == '__main__':
pycli = PyCLI()
pycli.run()