2013-10-13 3 views
4

Я изучаю Python и как разработчик стартера, у меня есть несколько вопросов.Прочитать файл с помощью формата «variable = value» (Windows INI)?

мне нужно прочитать файл, который имеет следующий формат:

# This is the text file 
[label1] 
method=auto 

[label2] 
variable1=value1 
variable2=ae56d491-3847-4185-97a0-36063d53ff2c 
variable3=value3 

Теперь у меня есть следующий код:

# This is the Python file 
arq = open('desiredFile').read() 
index = arq.rfind('variable1=') 
(??) 

Но я действительно не знаю, как я могу продолжать. Моя цель - прочитать значение до появления новой строки. Я считаю, что подсчитывают индексы между «id =» и новой строкой, поэтому получаем текст внутри этих индексов, но я не знаю, как это сделать в Python. Подводя итог, я хочу сохранить значение [label2] в переменных Python:

pythonVariable1 = <value of variable1 in [label2]> 
pythonVariable2 = <value of variable2 in [label2]> 
pythobVariable3 = <value of variable3 in [label2]> 

Обратите внимание, что pythonVariable2 является равно «ae56d491-3847-4185-97a0-36063d53ff2c» и переменных внутри текстового файла иметь уникальное имя. Итак, как я могу хранить значения этих переменных в переменных Python?

ответ

10

Используйте вместо этого configparser module. Этот модуль напрямую анализирует этот формат файла (так называемый формат Windows INI).

try: 
    # Python 3 
    from configparser import ConfigParser 
except ImportError: 
    # Python 2 
    from ConfigParser import ConfigParser 

config = ConfigParser() 
config.readfp(open('desiredFile')) 

somevar = config.get('label2', 'variable1') 
+2

Я буду проверять здесь, и человек, Python невероятен, такой захватывающий. До свидания Java и Ruby: P – Paladini

+2

@FernandoPaladini. Чтобы быть справедливым, есть 'java.util.Properties' :) – zero323

+0

У меня небольшая ошибка:« IOError: [Errno 13] Permission denied '. Это файл внутри/etc/folder, как я могу предоставить права администратора этому файлу? – Paladini

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