Most Pythonic way to store (small) configuration
Marko Rauhamaa
marko at pacujo.net
Wed Aug 5 17:47:37 EDT 2015
Tim Chase <python.list at tim.thechases.com>:
> There's a certain simplicity to simply having key/value pairs
> separated by an "=" and then letting the application do whatever it
> needs/wants with those key/value strings.
That trap has lured in a lot of wildlife.
What to do with lists?
Is whitespace significant?
Case in point, systemd configuration files:
<URL: http://www.freedesktop.org/software/systemd/man/systemd.servic
e.html#Command%20lines>
It specifies all kinds of application-do-whatever-it-needs syntax:
* backslash escapes
* double quotes and single quotes
* line continuations
* percent specifiers
* dollar substitution with or without braces
* double-dollar escape
* together with undocumented quirks (for example, how do you specify a
command whose pathname contains whitespace?)
All of which makes it all but impossible to algorithmically escape a
literal command into the ExecStart= entry.
When you start with something that's too simple, you end up with layers
of ever-increasing complexity but never attain the expressive power of
JSON, S-expressions and the like (I don't have the stomach to mention
XML).
Marko
More information about the Python-list
mailing list