2015-06-17 4 views
0

Извините, я новичок в Python и пытаюсь работать с модулем ConfigParser. Вот один скрипт, который используется для чтения нескольких разделов и значений из файла .ini и распечатывает их, как показано ниже (Текущий вывод). Теперь я хотел бы сохранить каждое из этих значений URL, пароль в переменные и использовать каждый из них для запуска вызова REST с использованием цикла for.using configparser в python

Какие изменения необходимы для хранения значений каждого «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 

ответ

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 
+0

Извините, как мне напечатать значение имени «пароль», которое повторяется дважды в «config_dict» – user3331975

+0

Получил его. Print config_dict [element] ['password'] – user3331975

0
# 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') 
+0

Спасибо Викас .. Но я хотел бы хранить каждое значение одной и той же переменной (например, хранить значение пароля для одной переменной «пароль» из обоих разделов s, а также независимо от секций номера, упомянутых в файле .ini (т. е. явно не указывать имя раздела). – user3331975

Смежные вопросы