From what I can understand you are asking the following:
What is the best way for my python script to handle running with one of three different arguments that points to the configuration settings to use during that run.
If that is the case, then I think you should look into xml.etree as an option to store and access configuration data in a config file. you should only need 1 config file this way since you can utilize different nodes with configuration settings as children for each config option.
you could save your configuration in a file in this format;
<configroot>
<configsettings1>
<option1>foo</option1>
<option2>bar</option2>
</configsettings1>
<configsettings2>
<option1>foo</option1>
<option2>foo</option2>
and so on. you can even customize it a bit more by adding more data to each option:
<option1 disabled=True>
or
<option2 active=1 type='foo'>
then you can extract the nodes from that depending on what args are used with getopt
import getopt
import xml.etree as et
INSERTMAINCODEHERE
if __name__ == '__main__':
try:
opts, args = getopt.getopt(sys.argv[1:], "f:", ["configoption="])
except getopt.GetoptError, e:
print "getopt.GetoptError: %s" % e
sys.exit(1)
for o, a in opts:
if o in ("-f","--configoption="):
b=et.ElementTree.parse('configfilename')
options=b.getroot().find(a)
for s in list(options):
print s, s.tag, s.tail, s.attrib #ETC. ETC.
you can see more information and some detail about the specifics here
I hope this is what you were asking. if not please let me know more and I'll try to help.