To avoid this, you need to write something like:
. list = [] . for key in configuration.options("core"): . list.append((key,configuration.get("core",substitution)) . print list
This cause me problems for a different reason, ie., that user vars keys appear in what items() returns. I avoid using items() for this reason.
it turns out, I originally discovered this problem through the get with substitutions. It's too late to muck with it now but if you are really interested I will generate a test case showing the failure or else prove I was hallucinating.
My current workaround is to look for a %( in every value returned and if so do a string substitution.
value = base.get(section,item, 1) if value.find("%(") != -1: value = value% self.interpolation_symbols
yes, it is as ugly as a roadkill toad but it gets the job done. I've spent away too much time on this problem for this particular project. I think we all know the feeling.
---eric
-- http://mail.python.org/mailman/listinfo/python-list