I am trying to use argparse module. I am dealing with 2 configuration files:
1.default cfg file 2. File provided by user.   
If no file provided at run time, read from default file. And if user provides a file, use the content of provided file.
My question is : I want to provide default field for each parser.add_agument, so if it's not provided by user,it will always have some default value. These values can be read from either of the file (i.e. default or user given file). I need to check which file is provided and then from default/user-given-file import *
My code:
get_args.py
class GetArgs:
   def get_args(self):
       parser = argparse.ArgumentParser(description='foo')
       #
       parser.add_argument(
        '-c', '--config', type=str, help='Provide a file', 
                          required=False, default='settings.cfg')
         #now note that below "default=version" will be from either "settings.cfg" or "user given file"
         # here may be i need to import from file ? 
        parser.add_argument(
        '-v','--version', type=str, help='API version', required=False, default=version)
        args = parser.parse_args()
        # Assign args to variables
        config=args.config
        version = args.version
        retutn config,version
code to read cfg file: read_file.py
import ConfigParser
configParser = ConfigParser.RawConfigParser()
configParser.read(file)
try:
    version= configParser.get('Set', 'version')
    ....
    ....
except ConfigParser.NoOptionError:
    print "Option not found in configuration file!"
    sys.exit(1)
something like:
1.python get_args.py                                      #reads "version" from settings.cfg
2.python get_args.py --config /path/to/file/file.cfg      #reads "version" file.cfg   
It works perfect when i don't provide --config.
Is this possible to read dynamically?
 
    