astrofrog
astrofrog

Reputation: 34091

Get ConfigObj to quote strings

If I run the following script:

from configobj import ConfigObj
config = ConfigObj()
config.filename = 'test.cfg'
config['keyword1'] = "the value"
config['keyword2'] = "'{0:s}'".format("the value")
config['keyword3'] = '"{0:s}"'.format("the value")
config.write()

the output is:

keyword1 = the value
keyword2 = "'the value'"
keyword3 = '"the value"'

Is there any way to produce the following output?

keyword1 = 'the value'

Upvotes: 3

Views: 1157

Answers (2)

PartialOrder
PartialOrder

Reputation: 2960

What you're after is unrepr=True

config = ConfigObj(unrepr=True)

Then quotes will be preserved when you write back to file.

Upvotes: 4

garnertb
garnertb

Reputation: 9584

I've never used the ConfigObj module, however from the documentation it appears that you may be able to achieve this by passing the interpolation argument when instantiating the ConfigObj.

Try:

config = ConfigObj(interpolation = 'Template')

or

config = ConfigObj(interpolation = False) 

Upvotes: 0

Related Questions