title: How to find out if argparse argument has been actually specified on command line?
body: <p>I am using arparse to update a config dict using values specified on the command line. Since i only want to update the values in the config for which a value was explicitly mentioned on the command line. </p>
  
  <p>Therefore i try to identify not-specified arguments by checking for each action if <code>getattr(args, action.dest) == action.default</code> or equality of the type converted arg. Then i update all my values in the dict for which this is false.</p>
  
  <p>But this of course fails, if i explicitly specify an argument on the command line which is the same as my default argument. Is there a possibility to identify these explicitly mentioned arguments withing argparser or do i have
  to identify them manually in sys.argv?</p>
  
  <p>Thanks!</p>
  
  <p><strong>Edit:</strong></p>
  
  <p>To make my intentions clearer. I have an argument like the following:</p>
  
  <p><code>parser.add_argument('--test', default='meaningful_default')</code></p>
  
  <p>and a config like</p>
  
  <p><code>config = { 'test' : 'nondefault_val'}</code></p>
  
  <p>Now i want to update the config only with the explicitly specified arguments. Comparing the args attributes with the default values works as long as i don't specify something like <code>prog.py --test meaningful_default</code> to update my config again with a value which just happens to be also the default value</p>