我想使用python ConfigParser模块读取配置文件:
[asection]
option_a = first_value
option_a = second_value
Run Code Online (Sandbox Code Playgroud)
我希望能够获得为选项“ option_a”指定的值的列表。我尝试了以下显而易见的方法:
test = """[asection]
option_a = first_value
option_a = second_value
"""
import ConfigParser, StringIO
f = StringIO.StringIO(test)
parser = ConfigParser.ConfigParser()
parser.readfp(f)
print parser.items()
Run Code Online (Sandbox Code Playgroud)
哪个输出:
[('option_a', 'second_value')]
Run Code Online (Sandbox Code Playgroud)
当我希望:
[('option_a', 'first_value'), ('option_a', 'second_value')]
Run Code Online (Sandbox Code Playgroud)
或者,甚至更好:
[('option_a', ['first_value', 'second_value'])]
Run Code Online (Sandbox Code Playgroud)
有没有办法用ConfigParser做到这一点?另一个主意?
我已经阅读了这篇文章,并在subscriber.ini中定义了一个数组
[smtp]
subscriber[] = aaa@hotmail.com
subscriber[] = bbb@XX.webmail
subscriber[] = ccc@test.org
Run Code Online (Sandbox Code Playgroud)
然后我尝试使用ConfigParser来读取数组
#!/usr/bin/python
import ConfigParser
CONFIG_FILE = 'subscriber.ini'
config = ConfigParser.ConfigParser()
config.read( CONFIG_FILE )
subscriber = config.get('smtp' , 'subscriber[]' )
print subscriber
Run Code Online (Sandbox Code Playgroud)
它将输出最后一个元素ccc@test.org.但我希望有一个完整的用户名单.
如何从ini文件中获取数组?