def iniread(f):
    label, val = '', {}
    for l in open(f):
        if l.startswith('['):
            if val:
                yield label, val
            label = l.strip()[1:-1]
            val = {}
        elif '=' in l:
            k, v = l.strip().split('=')
            val[k] = v
    if label:
        yield label, val

import pprint
for key, values in iniread('file1'):
    print '[%s]' % key
    pprint.pprint(values)

