在python中使用configparser

时间:2015-06-17 08:02:33

标签: python python-2.7

抱歉,我是Python的新手并尝试使用ConfigParser模块。这是一个脚本,用于从.ini文件中读取多个部分和值,并按如下方式打印它们(当前输出)。现在,我想将url,password的每个值存储到变量中,并使用它们中的每一个来使用for循环运行REST调用。

将每个“url”和“password”的值存储到不同的变量中需要进行哪些更改?

# cat file.ini

[bugs]
url = http://localhost:1010/bugs/
username = mark
password = SECRET

[wiki]
url = http://localhost:1010/wiki/
username = chris
password = PWD

脚本: -

from ConfigParser import SafeConfigParser

parser = SafeConfigParser()
parser.read('file.ini')

for element in parser.sections():
    print 'Section:', element
    print '  Options:', parser.options(element)
    for name, value in parser.items(element):
        print '  %s = %s' % (name, value)
    print

当前输出: -

~]# python parse.py

Section: wiki
  Options: ['url', 'username', 'password']
  url = http://localhost:1010/wiki/
  username = chris
  password = PWD

Section: bugs
  Options: ['url', 'username', 'password']
  url = http://localhost:1010/bugs/
  username = mark
  password = SECRET

2 个答案:

答案 0 :(得分:1)

# The format is parser.get(section, tag)
bugs_url = parser.get('bugs', 'url')
bugs_username = parser.get('bugs', 'username')
bugs_password = parser.get('bugs', 'password')

wiki_url = parser.get('wiki', 'url')
wiki_username = parser.get('wiki', 'username')
wiki_password = parser.get('wiki', 'password')

答案 1 :(得分:0)

from ConfigParser import SafeConfigParser

parser = SafeConfigParser()
parser.read('file.ini')

config_dict = {}

for element in parser.sections():
    print 'Section:', element
    config_dict[element] = {}
    print '  Options:', parser.options(element)
    for name, value in parser.items(element):
        print '  %s = %s' % (name, value)
        config_dict[element][name] = value

print config_dict