config parser:选择名称和值分隔符

时间:2014-01-24 09:05:18

标签: python configparser

假设我有一个带有以下行的test.ini文件:

[A]
name1 [0,1]=0
name2 a:b:c / A:B:C [0,1]=1

当我像这样解析它时:

A = ConfigParser.ConfigParser()
with codecs.open('test.ini', 'r') as f:
    A.optionxform = str
    A.readfp(f)

for section_name in A.sections():
    print 'Section:', section_name
    print 'Options:', A.options(section_name)
    for name, value in A.items(section_name):
        print 'name-value pair:'
        print '%s' % (name)
        print '%s' % (value)

我得到以下输出:

Section: A
Options: ['name1 [0,1]', 'name2 a']
name-value pair:
name1 [0,1]
0
name-value pair:
name2 a
b:c / A:B:C [0,1]=1

但这不是我想要的, 我希望它是这样的:

Section: A
Options: ['name1 [0,1]', 'name2 a:b:c / A:B:C [0,1]']
name-value pair:
name1 [0,1]
0
name-value pair:
name2 a:b:c / A:B:C [0,1]
1

有没有办法以某种方式选择分隔符 在名称和值之间,它只能是=符号?

如果一行中只有一个=, 分隔符是最后一个?

1 个答案:

答案 0 :(得分:2)

跳过Python 3.3和A = configparser.ConfigParser(delimiters=('='))

解决了问题