[Baypiggies] Reading k=v format files
Michiel Overtoom
motoom at xs4all.nl
Fri Oct 9 10:09:39 CEST 2015
Hi,
> On 03 Oct 2015, at 20:58, Ian Zimmerman <itz at buug.org> wrote:
>
> I have a file providing settings [...] It looks like this:
>
> Foo=bar
> Foo2=baz
>
> I'm looking for a short snippet to grok the file [...]
Instead of writing your own parser, you could feed ConfigParser a doctored version of your INI file.
ConfigParser doesn't have to be fed a filename, it can read a file-like object such as a StringIO 'in-memory file'.
So I first create an in-memory version of the INI file with a [configuration] section prepended to it, then feed that to ConfigParser.
import ConfigParser
import StringIO
ini = open("cfgparse.ini").read()
print "Original INI file:"
print ini
sect = StringIO.StringIO("[configuration]\n" + ini)
print "Sectioned INI file:"
print sect.getvalue()
c = ConfigParser.ConfigParser()
c.readfp(sect)
print "Foo is '%s'" % c.get("configuration", "Foo")
print "Foo2 is '%s'" % c.get("configuration", "Foo2")
The output is:
Original INI file:
Foo=bar
Foo2=baz
Sectioned INI file:
[configuration]
Foo=bar
Foo2=baz
Foo is 'bar'
Foo2 is 'baz'
Greetings,
More information about the Baypiggies
mailing list