title: how to pass one param to argparse that will affect two options?
body: <p>Assuming I have the following parser:</p>
  
  <pre><code>def parse():
      p = ArgumentParser()
      p.add_argument('-c', 'client', help='')
      p.add_argument('-s', 'server', help='')
      args = vars(p.parse_args())
      return args
  </code></pre>
  
  <p>I have to call it with <code>python my_script.py -s bla -c bla</code>. I would like to add a third option, that will combine both of them, allowing me to call <code>python my_script.py -x bla</code> and to get <code>{'s': 'bla, 'c': 'bla'}</code> from the function, just like I would have got from the first call.</p>
  
  <p>How can I do that?</p>
  
  <hr>
  
  <p>I can do the opposite, i.e. create 2 args that will have the same name:</p>
  
  <pre><code>In [14]: p.add_argument('--x', dest='z') 
      ...: p.add_argument('--y', dest='z') 
      ...: p.parse_args('--x 1 --y 2'.split())                                                                                                
  Out[14]: Namespace(z='2')
  </code></pre>
  
  <p>but that doesn't really help me...</p>
  
  <hr>
  
  <p>This is not a dup. I don't want to pass a list. I already have the 2 options, and I want them to stay. I just want to have a third option that combines them. Using a list would make me dup my input, like this <code>python my_script.py --list_param bla bla</code> where I want <code>python my_script.py --x bla</code></p>