My preferred one, which I have not found in other languages (besides LISP, obviously): treat data as code.
This way your configuration files are Tcl code using some proc's that you have defined, but they can also include arbitrary code. In order to read them, you simply fire up a slave (safe) interpreter and get the results.
If anyone knows how to do this easily in Python, I'm all ears!