This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: ConfigParser bug/limitation
Type: enhancement Stage:
Components: Library (Lib) Versions:
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: fdrake Nosy List: fdrake, loicl
Priority: normal Keywords:

Created on 2002-02-01 15:35 by loicl, last changed 2022-04-10 16:04 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
ConfigParser.diff loicl, 2002-02-01 15:35 Patch to work around ConfigParser limitation
Messages (5)
msg9083 - (view) Author: Loïc Lefort (loicl) Date: 2002-02-01 15:35
It is not possible to use '%' character in config
options in combination with $() substitution.
Example: Given this configuration file:

[DEFAULT]
option1=xxx
option2=%(option1)s/xxx

ok=%(option1)s/%%s
not_ok=%(option2)s/%%s

config.get('DEFAULT', 'ok') returns xxx/%s
but config.get('DEFAULT', 'not_ok') fails with an
exception because the '%' needs to be escaped multiple
times depending on the evaluation depth:

%(option2)s/%%s -> %(option1)s/xxx/%s -> exception

what I would like it to do is:
%(option2)s/%%s -> %(option1)s/xxx/%%s -> xxx/xxx/%s

Attached to this bug report is a simple patch to work
around this limitation (not very elegant, but it works)

msg9084 - (view) Author: Loïc Lefort (loicl) Date: 2002-02-01 15:38
Logged In: YES 
user_id=78862

Forgot the python version: this problem is present in both
python 2.1.2 and python 2.2
msg9085 - (view) Author: Fred Drake (fdrake) (Python committer) Date: 2002-06-17 15:19
Logged In: YES 
user_id=3066

I'm afraid getting this "right" is going to be much more
tedious that the proposed patch.  It's unclear to me at the
moment whether this should be a documented limitation or if
we should really fix it.  The ConfigParser module is
generally in bad shape, unfortunately.  ;-(
msg9086 - (view) Author: Fred Drake (fdrake) (Python committer) Date: 2002-06-21 16:18
Logged In: YES 
user_id=3066

Re-arranged summary so all ConfigParser reports can be
sorted together.
msg9087 - (view) Author: Fred Drake (fdrake) (Python committer) Date: 2002-10-25 21:52
Logged In: YES 
user_id=3066

I've added the SafeConfigParser class for Python 2.3.  This
version implements a safer (and more predictable)
interpolation.  This can't replace the original ConfigParser
since the behavior is different, but should be preferred for
new applications.
History
Date User Action Args
2022-04-10 16:04:56adminsetgithub: 36013
2002-02-01 15:35:35loiclcreate