title: Python argparse override help from parent
body: <p>I have a CLI I'm building which utilizes subparsers for sub-commands similar to tools like git. Some of my sub-commands share common options so I have a group parser that defines the options, and each sub-command that needs them uses <code>parents=group_parser</code> as one of the arguments. For example:</p>
  
  <pre><code>group_parser = argparse.ArgumentParser()
  group_parser.add_argument('-f', '--foo', action='store_true')
  
  command1_parser = subparsers.add_parser('command1', parents=[group_parser])
  command2_parser = subparsers.add_parser('command2', parents=[group_parser])
  </code></pre>
  
  <p>So as you see both command1 and command2 inherit the option <code>--foo</code>. What I'm trying to do is update the helptext for foo separately on command1 and command2. For instance if I run <code>myprog command1 -h</code>, I want it to say a different help message for <code>--foo</code> that when I run <code>myprog command2 -h</code>. The problem is until I do <code>parse_args()</code> there isn't a namespace to update for that argument, so something like this doesn't work:</p>
  
  <pre><code>group_parser = argparse.ArgumentParser()
  group_parser.add_argument('-f', '--foo', action='store_true')
  
  command1_parser = subparsers.add_parser('command1', parents=[group_parser])
  command1.foo['help'] = "foo help for command1"
  command2_parser = subparsers.add_parser('command2', parents=[group_parser])
  command2.foo['help'] = "foo help for command2"
  </code></pre>
  
  <p>Is this possible to somehow add additional parameters to an argument outside of the <code>add_argument()</code> function? The only other solution is to not use the inherited parent and just define foo separately for each sub-command, but if there's a way to update parameters, that would be ideal.</p>