On Feb 14, 10:16 am, Martin De Kauwe <mdeka...@gmail.com> wrote: > On Feb 13, 6:35 pm, Terry Reedy <tjre...@udel.edu> wrote: > > > > > > > On 2/12/2011 9:20 PM, Martin De Kauwe wrote: > > > > On Feb 13, 5:12 am, Terry Reedy<tjre...@udel.edu> wrote: > > >> On 2/12/2011 1:24 AM, Martin De Kauwe wrote: > > > >>> The point of this posting was just to ask those that know, whether it > > >>> was a bad idea to use the class object in the way I had or was that > > >>> OK? And if I should have just used a dictionary, why? > > > >> Did you miss my suggestion to use a module rather than a class? > > >> Modules do not have some of the disadvantages of classes listed by J. > > >> Nagle. > > > >> -- > > >> Terry Jan Reedy > > > > Hi, sorry I did. I just re-read it, could you provide an example? > > > I am not sure what you are asking. tkinter.contants is one example. > > > > Sorry i am having a major mind blank this morning (I think this is > > > obvious!?). And it would meet all of the criteria outlined by John > > > Nagle? > > > A module will work fine if but only if you commit yourself to having all > > keys be legal Python identifiers. But that is usually not a problem with > > configuration values. > > > -- > > Terry Jan Reedy > > I think I got it, did you mean something like this? > > class Constants: > > radius_of_earth = 6.37122E+6 > days_as_yrs = 1.0 / 365.25 > m2_as_ha = 1E-4 # metres squared as hectares > g_as_tonnes = 1E-6 # grammes as tonnes > kg_as_tonnes = 1E-3 # kg as tonnes > kg_as_g = 1E+3 > > def __init__(self): > > self.radius_of_earth = self.__class__.radius_of_earth > self.days_as_yrs = self.__class__.days_as_yrs > self.m2_as_ha = self.__class__.m2_as_ha > self.g_as_tonnes = self.__class__.g_as_tonnes > self.kg_as_tonnes = self.__class__.kg_as_tonnes > self.kg_as_g = self.__class__.kg_as_g > > usage something like > > >>>from constants import Constants > >>>Constants.kg_as_g > >>>1000.0 > > Something similar for the params? > > thanks
And then I guess define some default parameters and then use configobj to parse a .INI file. Then adjust those parameters change in the .INI file? e.g. from parameters import DefaultParameters as params # d -> comes from .INI file p = params() for key, value in d.iteritems(): # change anything read from file p.__dict__[key] = value ? -- http://mail.python.org/mailman/listinfo/python-list