Keepin constants, configuration values, etc. in Python - dedicated module or what?

Chris Angelico rosuav at gmail.com
Tue Sep 30 13:15:30 EDT 2014


On Wed, Oct 1, 2014 at 3:01 AM, Rustom Mody <rustompmody at gmail.com> wrote:
>> And you get expressions for free - simple stuff like
>> "7*24*60*60" to represent the number of seconds in a week (for people
>> who aren't intimately familiar with 604800), or calculations relative
>> to previous data, or whatever. Sometimes it's helpful to have just a
>> little code in your data.
>
> Not free at all. Power of code means cost of code
> See http://www.w3.org/2001/tag/doc/leastPower.html

It's free once you've already decided (for other reasons) to make your
config file use Python syntax, at which point you've already paid the
cost of code. But you're quite right, allowing code does have costs.
Most notably, you have to quote your strings; although the direct
benefits you get (line continuation, unambiguous handling of
leading/trailing spaces, etc) may outweigh that on their own.

> I'd reiterate though what I first said: In this case its probably
> ok if the code (=data) does not cross trivial limits

I'd agree, where "trivial limits" is defined by each individual item.
Going with straight Python code is fine for huge projects with long
config files, as long as each config entry is itself simple. You even
get a form of #include: "from otherfile import *".

ChrisA



More information about the Python-list mailing list