title: argparse with required subcommands
body: <p>With python's argparse, how do I make a subcommand a required argument? I want to do this because I want argparse to error out if a subcommand is not specified. I override the error method to print help instead. I have 3-deep nested subcommands, so it's not a matter of simply handling zero arguments at the top level.</p>
  
  <p>In the following example, if this is called like so, I get:</p>
  
  <pre><code>$./simple.py
  $
  </code></pre>
  
  <p>What I want it to do instead is for argparse to complain that the required subcommand was not specified:</p>
  
  <pre><code>import argparse
  
  class MyArgumentParser(argparse.ArgumentParser):
      def error(self, message):
          self.print_help(sys.stderr)
          self.exit(0, '%s: error: %s\n' % (self.prog, message))
  
  def main():
      parser = MyArgumentParser(description='Simple example')
      subs = parser.add_subparsers()
      sub_one = subs.add_parser('one', help='does something')
      sub_two = subs.add_parser('two', help='does something else')
  
      parser.parse_args()
  
  if __name__ == '__main__':
      main()
  </code></pre>